C语言题目

2.输入正整数n,输入n*n的矩阵,对该矩阵完成以下操作,并分别输出相应的操作结果。1)统计最大值,最小值;2)计算对角线元素和;3)对原矩阵实现转置... 2. 输入正整数n,输入n*n的矩阵,对该矩
阵完成以下操作,并分别输出相应的操
作结果。
1) 统计最大值,最小值;
2) 计算对角线元素和;
3) 对原矩阵实现转置
展开
 我来答
zhkjjlu2009
2011-05-04 · TA获得超过135个赞
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#define N 100
int main()
{
int n,num[N][N];
printf("输入矩阵大小:\n");
scanf("%d",n);
printf("输入矩阵数据:\n");
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",num[i][j]);}
}
//求对角线元素和
int sum=0;
for(int k=0;k<n;k++){
sum+=num[k][k];
}
//求最大最小元素
int max,min;
max=min=num[0][0];
for(int m=0;m<n;m++){
for(int t=0;t<n;t++){
if(num[m][t]>max)max=num[m][t];
if(num[m][t]<min)min=num[m][t];}
}
//矩阵转置
int temp;
for(int a=0;a<n;a++){
for(int b=0;b<a;b++){
temp=num[a][b];
num[a][b]=num[b][a];
num[b][a]=temp;

}
}
return 0;
}
我全写到主函数里面了 那三个功能你可以写三个子函数
追问
为什么输入完以后什么都没输出?没有printf吗
追答
不好意思  重新修改了下  你在看看
#include
#define N 100
int main()
{
int n,num[N][N];
printf("输入矩阵大小:\n");
scanf("%d",&n);
printf("输入矩阵数据:\n");
for(int i=0;imax)max=num[m][t];
if(num[m][t]<min)min=num[m][t];}
}
printf("对角线元素之和:%d\n最大元素:%d\n最小元素%d\n",sum,max,min);
//矩阵转置
int temp;
for(int a=0;a<n;a++){
for(int b=0;b<a;b++){
temp=num[a][b];
num[a][b]=num[b][a];
num[b][a]=temp;

}
}

for(int k1=0;k1<n;k1++){
for(int k2=0;k2<n;k2++){
printf("%d ",num[k1][k2]);}
printf("\n");
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式