永发信息网

C语言编程:求矩阵对角线元素之和

答案:2  悬赏:30  手机版
解决时间 2021-11-26 00:07
  • 提问者网友:姑娘长的好罪过
  • 2021-11-25 20:01
C语言编程:求矩阵对角线元素之和
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-11-25 21:35
# include

# define N 3

int main(void)

{
int a[N][N];

int i,j,sum1=0,sum2=0;

for(i=0;i
for(j=0;j
{
scanf("%d",&a[i][j]);
}

for(i=0;i
for(j=0;j
{
if(i == j)

sum1 = sum1 + a[i][j];

if((i+j) == N-1)

sum2 = sum2 + a[i][j];
}

printf("%d %d\n",sum1,sum2);
return 0;
}
全部回答
  • 1楼网友:未来江山和你
  • 2021-11-25 22:13
#include
#include
#define N 3
void main(){
int *matrix;
int i;
char line1[6];
char line2[6];
char line3[6];
matrix = (int *)malloc(N*sizeof(int));
printf("请输入一个%d阶的方阵:\n",N);
for(i=0;iif(i==0){
gets(line1);
}else if(i==1){
gets(line2);
}else if(i==2){
gets(line3);
}
}
for(i=0;iif(i<3){
matrix[i] = (int)(line1[(i%3)*2]-'0');
continue;
}
if(i<6){
matrix[i] = (int)(line2[(i%3)*2]-'0');
continue;
}
if(i<9){
matrix[i] = (int)(line3[(i%3)*2]-'0');
continue;
}
}
printf("你输入的矩阵:\n");
for(i=0;iint j;
for(j=0;jprintf("%d ",matrix[i*3+j]);
}
printf("\n");
}
int a = 0;//正对角线元素之和
int b = 0;//副对角线元素之和
for(i=0;iint j;
for(j=0;jif(i==j){//正对角线
a = a+matrix[i*3+j];
}
if((i+j)==2){//副对角线
b = b+matrix[i*3+j];
}
}
}
printf("正副对角线元素之和为:\n");
printf("正:%d 副:%d",a,b);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯