C语⾔⼆维数组的运⽤:矩阵
⼆维数组的运⽤:矩阵c语言二维数组表示方法
(难度**)编写程序,从键盘输⼊⼀个正整数n(3≤n≤6),再输⼊n阶⽅阵中的元素,要求实现以下功能:(1)求出各⾏元素之和,并输出。
(2)求出每⼀⾏元素的最⼤值,并输出。
(3)求出每⼀列元素的最⼩值,并输出。
(4)分别求两条对⾓线上的各元素之和,输出结果。
我写的代码
#include<stdio.h>
int main()
{
int a;
printf("请输⼊n的值(3≤n≤6):");
scanf("%d",&a);
int x[a][a];
printf("输⼊n阶⽅阵中元素:\n");
for(int i=0;i<a;i++){
for(int j=0;j<a;j++)
scanf("%d",&x[i][j]);}
printf("这个n阶⽅阵为:\n");
for(int i=0;i<a;i++){
for(int j=0;j<a;j++){
printf("%4d",x[i][j]);}
printf("\n");}
for(int i=0;i<a;i++){int sum=0;
for(int j=0;j<a;j++){
sum=x[i][j]+sum;
}printf("第%d⾏的和为%d\n",i,sum);
}
for(int i=0;i<a;i++){int max=x[i][0];
for(int j=0;j<a;j++){
if(max<x[i][j])
max=x[i][j];
}printf("第%d⾏的最⼤值为%d\n",i,max);
}
for(int j=0;j<a;j++){
int min=x[0][j];
for(int i=0;i<a;i++){
if(a>x[i][j])
min=x[i][j];}
printf("第%d列的最⼩值为%d\n",j,min);}
int q=0,w=0;
for(int i=0;i<a;i++){
for(int j=0;j<a;j++){
if(i==j)
q+=x[i][j];
if(i+j==a-1)
w+=x[i][j];}}
printf("正对⾓线和为:%d\n副对⾓线和为:%d",q,w);
return0;
}
新⼿写的,可能不是最优解,但勉强解决了问题,如果你感到对你有所帮助,点个赞吧!!!
祝你幸福!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。