幕布斯0401086
2018-12-14 21:46
#include <stdio.h>
int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
int sum=0;
int n;
for(n =0;n <= 10;n++)
{
sum += score[n];
}
printf("考试总分是%d\n",sum);
int max=score[0];
for(n=0;n<10;n++)
{
if(max<score[n])
{
max=score[n];
}
}
printf("最高分是%d\n",max);
int min=score[0];
for(n=0;n<10;n++)
{
if(min>score[n])
{
min=score[n];
}
}
printf("最低分是%d\n",min);
float adv;
for(n =0;n <= 10;n++)
{
sum += score[n];
adv = sum*1.0/10;
}
printf("平均分是%f\n",adv);
return 0;
}
求和的时候就出错了: for(n =0;n <= 10;n++),如果<=10的话会出现score[10]这个不存在的数据,系统就随机分配一个数据给这个值,所以应该改为<=9;
然后求平均值的时候sum没有初始化,还是会带入求和的时候的值,及真正的sum,应该重新定义一下,让sum=0.
adv这一行,挪到for循环外`~
C语言入门
926207 学习 · 20797 问题
相似问题