东兴漂流哪个好玩:问题出在哪里撒?

来源:百度文库 编辑:高校问答 时间:2024/04/28 07:32:58
编一个程序,由键盘上输出三个同学的三门成绩,算每位同学的总分和平均分,并显示出来.

#include"stdio.h"
main()
{float score0[2],score1[2],score2[2],total[2];
int i;
total[0]=0;
total[1]=0;
total[2]=0;
printf("please input the scores of the three students: ");
scanf("%f%f%f%f%f%f%f%f%f",&score0[0],&score0[1],&score0[2],&score1[0],&score1[1],&score1[2],&score2[0],&score2[1],&score2[2]);
for(i=0;i<3;i++)
{total[0]=total[0]+score0[i];
total[1]=total[1]+score1[i];
total[2]=total[2]+score2[i];
}
printf("The total score is: %f\t%f\t%f\nThe average score is: %f\t%f\t%f\n",total[0],total[1],total[2],total[0]/3,total[1]/3,total[2]/3);
}

错误:float score0[2],score1[2],score2[2],total[2];
定义的数组小了。
应该:float score0[3],score1[3],score2[3],total[3];
当然比3大也可以。
当定义一个数组的时候,比如score[size],则size代表数组元素的个数。该程序中元素为3个,所以size至少为3。下表依次是0,1直到size-1。