我试图在5x5阵列中输入4x4并获得第五行上每行的总和。我敢肯定,如果您在下面阅读我的代码,您就会知道我想要谈论的内容。例如,如果我输入:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
预期结果应为:
1 2 3 4 10
5 6 7 8 26
9 10 11 12 42
13 14 15 16 58
28 32 36 40 136
相反,我得到的结果如下:
1 2 3 4 10
5 6 7 8 32792
9 10 11 12 42
13 14 15 16 58
28 32 36 40 -501277720
我想到为什么我得到这些随机值,但找不到解决方案。为什么我会得到这些值,我该怎么做才能解决它?
#include <stdio.h>
int main ()
{
int gradeArr[5][5];
int i,j;
printf("Input grades:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&gradeArr[i][j]);
gradeArr[i][4] += gradeArr[i][j];
}
}
printf("%d\n", gradeArr[1][4]);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
gradeArr[4][i] += gradeArr[j][i];
}
gradeArr[4][4] += gradeArr[4][i];
}
printf("Result: \n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",gradeArr[i][j]);
}
printf("\n");
}
return 0;
}
您需要初始化数组。
尝试
int gradeArr[5][5] = {0};