编写程序,将nXn(n<=10)的矩阵主对角线上的元素按照从大到小排列。( 提示:主对角线是指从左上到右下的那一条对角线) 程序示例: 请输入矩阵的行数: 3 请输入原始矩阵: 1 2 3 4 5 6 7 8 9 原始矩阵: 1 2 3 4 5 6 7 8 9 排序后为: 9 2 3 4 5 6 7 8 1 输入提示:"请输入矩阵的行数:\n" 输入格式:"%d" 输入提示: "请输入原始矩阵:\n" 输入格式:"%d" 输出提示:"原始矩阵:\n" 输出格式:"%3d " (注意:d后边还有一个空格) 输出提示:"排序后为:\n" 输出格式:"%3d "(注意:d后边还有一个空格)
时间: 2024-03-13 22:45:04 浏览: 131
java代码-使用java计算NxN整型数组中主对角线和副对角线上数字之和的源代码
5星 · 资源好评率100%
好的,以下是对应的C语言程序:
```c
#include <stdio.h>
int main()
{
int n, i, j, k, temp;
printf("请输入矩阵的行数:\n");
scanf("%d", &n);
int a[n][n];
printf("请输入原始矩阵:\n");
for(i=0; i<n; i++){
for(j=0; j<n; j++){
scanf("%d", &a[i][j]);
}
}
printf("原始矩阵:\n");
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("%3d ", a[i][j]);
}
printf("\n");
}
for(i=0; i<n; i++){
for(j=i+1; j<n; j++){
if(a[i][i]<a[j][j]){
temp=a[i][i];
a[i][i]=a[j][j];
a[j][j]=temp;
}
}
}
printf("排序后为:\n");
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("%3d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
程序实现的是先输入矩阵的行数,再输入矩阵的元素,然后输出原始矩阵,最后按主对角线上元素从大到小的顺序输出排序后的矩阵。
阅读全文