题目:http://codevs.cn/problem/1023/
题解:
/* 1023 GPA计算 */
#include <stdio.h>
#define DEBUG
/* 主函数入口 */
int main(int argc, char *argv[]) {
int n; /* 课目数 */
float score, credit, gpa; /* 成绩,学分,gpa */
float sum_credit; /* 总学分 */
int i; /* 索引值 */
#ifdef DEBUG
FILE *fp;
if(NULL == (fp = fopen("data.txt", "r"))){
return 1;
}
#endif
/* 获取课目数 */
#ifdef DEBUG
fscanf(fp, "%d", &n);
#else
scanf("%d", &n)
#endif
sum_credit = 0.0;
gpa = 0.0;
/* 获取课目成绩和学分 */
for(i = 1; i <= n; i++){
#ifdef DEBUG
fscanf(fp, "%f %f", &credit, &score);
#else
scanf("%f %f", &credit, &score);
#endif
sum_credit = sum_credit + credit;
gpa = gpa + credit * score;
}
/* 计算GPA结果 */
gpa = gpa / sum_credit;
/* 输出结果 */
printf("%0.2f", gpa);
return 0;
}