求助:关于求3*3整形矩阵对角线之和的问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 13:12:48
求助:关于求3*3整形矩阵对角线之和的问题

以下是这个程序的源代码,运行环境是Dev-C++ IDE:

#include<stdio.h>
int main()
{
int a[3][3];
int i,j,c,sum;
int sumL(int a[3][3]); /*左起对角线累加函数声明*/
int sumR(int a[3][3]); /*右起对角线累加函数声明*/
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",&a[j]); /*输入10个整数*/
printf("Left begin please input L,Right please input R:\n");
if ((c=getchar())=='l'||(c=getchar())=='L')
sum=sumL(a);
else if ((c=getchar())=='r'||(c=getchar())=='R')
sum=sumR(a); /*选择左起还是右起*/
printf("sumdia=%d",sum);
getchar();
return(3);

}
int sumL(int a[3][3]) /*左起函

#include<stdio.h>
int main()
{
int a[3][3];
int i,j,c,sum;
int sumL(int a[3][3]); /*左起对角线累加函数声明*/
int sumR(int a[3][3]); /*右起对角线累加函数声明*/
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",&a[j]); /*输入10个整数*/ //=======================这里应改为:scanf("%d", &a[i][j]);
//=============================原先a[i][j]未被正确赋值,所以结果当然就错了
printf("Left begin please input L,Right please input R:\n");
if ((c=getchar())=='l'||(c=getchar())=='L')
sum=sumL(a);
else if ((c=getchar())=='r'||(c=getchar())=='R')
sum=sumR(a); /*选择左起还是右起*/
printf("sumdia=%d",sum);
getchar();
return(3);

}
int sumL(int a[3][3]) /*左起函数*/
{
int sum;
sum=a[0][0]+a[1][1]+a[2][2];
return(sum);
}
int sumR(int a[3][3]) /*右起函数*/
{
int sum;
sum=a[0][2]+a[1][1]+a[2][0];
return(sum)