时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:1333

解决:702

题目描述:

北京大学对本科生的成绩施行平均学分绩点制(GPA)。既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。

公式如下:

实际成绩 绩点

90——100 4.0

85——89 3.7

82——84 3.3

78——81 3.0

75——77 2.7

72——74 2.3

68——71 2.0

64——67 1.5

60——63 1.0

60以下 0

1.一门课程的学分绩点=该课绩点*该课学分

2.总评绩点=所有学科绩点之和/所有课程学分之和

现要求你编写程序求出某人A的总评绩点(GPA)。

输入:

第一行 总的课程数n(n<10);

第二行 相应课程的学分(两个学分间用空格隔开);

第三行 对应课程的实际得分;

此处输入的所有数字均为整数。

输出:

输出有一行,总评绩点,精确到小数点后2位小数。(printf("%.2f",GPA);)

样例输入:
5
4 3 4 2 3
91 88 72 69 56
样例输出:
2.52
来源:
2008年北京大学软件所计算机研究生机试真题

思路:

实际上就是求加权平均数。

代码:

#include <stdio.h>
#include <string.h> float getPoint(int x)
{
if (90 <= x && x <= 100)
return 4.0;
else if (85 <= x && x <= 89)
return 3.7;
else if (82 <= x && x <= 84)
return 3.3;
else if (78 <= x && x <= 81)
return 3.0;
else if (75 <= x && x <= 77)
return 2.7;
else if (72 <= x && x <= 74)
return 2.3;
else if (68 <= x && x <= 71)
return 2.0;
else if (64 <= x && x <= 67)
return 1.5;
else if (60 <= x && x <= 63)
return 1.0;
else
return 0;
} int main(void)
{
int cre[10], score[10];
int n, i, sumCre;
float sumPoint; while (scanf("%d", &n) != EOF)
{
for (i=0; i<n; i++)
scanf("%d", &cre[i]);
for (i=0; i<n; i++)
scanf("%d", &score[i]); sumPoint = 0;
sumCre = 0;
for (i=0; i<n; i++)
{
sumPoint += cre[i] * getPoint(score[i]);
sumCre += cre[i];
} printf("%.2f\n", sumPoint/sumCre);
} return 0;
}
/**************************************************************
Problem: 1133
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/

九度OJ 1133:学分绩点 (加权平均数)的更多相关文章

  1. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  2. 九度OJ 1502 最大值最小化(JAVA)

    题目1502:最大值最小化(二分答案) 九度OJ Java import java.util.Scanner; public class Main { public static int max(in ...

  3. 九度OJ,题目1089:数字反转

    题目描述: 12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转. 输入: 第一行一个正整数表示测试数据的个数n. ...

  4. 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)

    题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ...

  5. 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ...

  6. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)

    题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述:     省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...

  7. 九度OJ 1371 最小的K个数 -- 堆排序

    题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...

  8. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  9. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

随机推荐

  1. vue.js源码学习分享(四)

    /** * Generate a static keys string from compiler modules.//从编译器生成一个静态键字符串模块. */ function genStaticK ...

  2. 为什么linux下多线程程序如此消耗虚拟内存【转】

    转自:http://blog.csdn.net/chen19870707/article/details/43202679 权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 探 ...

  3. POJ 1011:木棒

    传送门 http://poj.org/problem?id=1011 题目大意 已知原来有等长若干木棒,现在给你一堆断了的木棒的长度,问原来的木棒最短是多长 题目类型 DFS + 剪枝 + “贪心优化 ...

  4. 关于[WinError 10054] 远程主机强迫关闭了一个现有的连接。

    之前一直用python实现qq邮箱自动发送,都弄的好好的,然后今天一打开,就出现如题的错误,百度了许多,说,可能发送邮件次数过多,被当作是攻击,建议换个邮箱,换了也不行, 最后用手机给电脑分享Wifi ...

  5. DNA的复制

    半保留复制 DNA分子复制时, DNA分子的双螺旋将解开, 互补的碱基之间的氢键断裂, 解开的两条单链作为复制的模板, 游离的脱氧核苷酸依据碱基互补配对的原则, 通过形成氢键结合到作为模板的单链上. ...

  6. Ubuntu 16.04下使用Wine安装PowerDesigner15

    说明: 1.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 2.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 下载: (链接 ...

  7. OpenLayers3 动画

    参考文章 openlayers3中三种动画实现

  8. 前端模板inspinia

    前端模板,可以下个免费的,可以花点小钱买.或者github搜索一个 https://chuibility.github.io/inspinia/ http://cn.inspinia.cn/layou ...

  9. 系统网站架构(淘宝、京东)& 架构师能力

    来一张看上去是淘宝的架构的图: 参考地址:http://hellojava.info/?p=520 说几点我认可的地方: 架构需要掌握的点: 通信连接方式:大量的连接通常会有两种方式: 1. 大量cl ...

  10. linux内核I2C子系统学习(三)

    写设备驱动: 四部曲: 构建i2c_driver 注册i2c_driver 构建i2c_client ( 第一种方法:注册字符设备驱动.第二种方法:通过板文件的i2c_board_info填充,然后注 ...