#include<stdio.h> #include<stdlib.h> int main() { int a[5][5]; int i,j; for(i=0;i<5;i++) { printf("

为什么输出的数不对
2024-11-25 02:48:27
推荐回答(4个)
回答1:

正确的应该是这样,这里将错误处及改正标出:
#include
#include
int main()
{ int a[5][5]={0};
int i,j;
for(i=0;i<5;i++)
{
a[i][4]=0; /*这里添加一句,将做累加器的元素a[i][4]初始化为0, */
printf("请输入第%d位学生\n",i+1);
for(j=0;j<4;j++)
{
printf("科目分数%d:",j+1);
scanf("%d",&a[i][j]);
a[i][4]+=a[i][j]; /* a[i][5]+=a[i][j]; 这里的5应该改成4,最后一项的下标是4,你超界啦 */
}
printf("总分:%d\n",a[i][4]); /*这里也应该是a[i][4],你写成了a[i][5] */
printf("平均:%d\n",a[i][4]/4); /*这里也应该是a[i][4],你写成了a[i][5] */
}
system("pause");
}

回答2:

你的第一次值是对的,第二次以后就错了,很可能是你没有把相关数值清零,比如a[5][5]

回答3:

少了一个循环,应为双重循环的~~

回答4:

贴完整代码看看,帮你找错