杭电oj——2023——求平均成绩;
http://acm.hdu.edu.cn/showproblem.php?pid=2023——题目链接;
开始的思路
利用二维数组储存成绩=>
有多组成绩,需要利用循环=>
需要输入循环次数=>
则很大可能需要用while(xxx!=EOF,xxx)=>
题目目的为求平均分,所以需要新的数组储存平均分。。。。
结果有以下代码:
但这是改正后的代码,开始我认为个人平均分与科目平均分可以在同一个循环里储存成绩
但是后面我在测试的时候发现在其人数与科目数不一致的时候是无法正确储存数据,因为这两组数据在储存的时候有冲突
如本应储存在a[2][3]的数据储存到了a[3][2]
这一点也样我意识到在循环中储存数据需要考虑多种数据
再通过循环将个人成绩比较来计算多少人超过平均分
在这段代码中我用for循环进行比较
如果成绩中有小于平均分的直接跳出循环,若循环进行到底
即最后j==m,人数加一。
而最后在我将代码提交到oj的时候,它显示为pertsentation error。
可是我怎么都找不到显示或是输入格式错误的地方
最后参考了网上大神的代码便改了以下
for(i=0;i<n;i++)
printf("%.2lf ",nsum[i]/m);
printf("\n");
变为
for(i=0;i<n-1;i++)
printf("%.2lf ",nsum[i]/m);
printf("%.2lf\n",nsum[n-1]/m);
其实我这里是有疑问的,希望大哥大姐,帅哥美女们为我解答这个问题。