这题不需要用数组,直接记录和即可。
#include
#define MAXN 12
int main()
{
int i, N, credit, grade;
int sum = 0; // 加权总和(分子)
int sumCredit = 0; // 学分总和(分母)
scanf("%d", &N);
for (i = 0; i < N; ++i)
{
scanf("%d %d", &credit, &grade);
// 将百分制分数转化成成绩点数
grade = grade / 10 - 5;
grade = grade < 0 ? 0 : (grade == 5 ? 4 : grade);
// 求和
sum += credit * grade ;
sumCredit += credit;
}
printf("%.2f\n", (double)sum / sumCredit);
return 0;
}
如果一定要用数组的话, 那么用循环来进行列的运算。