当前位置: 代码迷 >> C语言 >> C语言新手 第三问
  详细解决方案

C语言新手 第三问

热度:209   发布时间:2007-01-01 17:14:49.0
C语言新手 第三问
问题:求一个 3*#矩阵对角线元素之和.

我的编程:
#include <stdio.h>
void main()
{
int sum,a[2][2],i,j,sum1,sum2,sum3,sum4,sum5;
printf ("请输入一个数组:");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
scanf ("%d",&a[i][j]);
}
}
sum1=a[0][0];
sum2=a[0][2];
sum3=a[1][1];
sum4=a[2][0];
sum5=a[2][2];
sum=sum1+sum2+sum3+sum4+sum5;
printf ("\n3*3矩阵对角线元素之和为%d\n",sum);
}

问题:
我用 1,1,1,1,1,1,1,1,1 验证结果没问题

用1,2,3,4,5,6,7,8,9 验证结果比预想的多1

用9,8,7,6,5,4,3,2,1 验证结果比预想的少1

请各位高手帮忙指正错误
搜索更多相关的解决方案: C语言  

----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main(void) /*void main是不正确的,具体参见其它资料*/
{
int sum,a[3][3],i,j,sum1,sum2,sum3,sum4,sum5; /*数组a[2][2]只有2*2个元素,所以改为a[3][3]*/
printf ("请输入一个数组:");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
scanf ("%d",&a[i][j]);
}
}
sum1=a[0][0];
sum2=a[0][2];
sum3=a[1][1];
sum4=a[2][0];
sum5=a[2][2];
sum=sum1+sum2+sum3+sum4+sum5;
printf ("\n3*3矩阵对角线元素之和为%d\n",sum);
getch(); /*观看结果*/
return 0;/*最好加上*/
}
----------------解决方案--------------------------------------------------------
  相关解决方案