c语言编程从键盘上输入m和n的值,产生一个m行n列的随机整数(100以内)二维数组a,显示随机产生的数组并求出该二维数组m行的和及n列的和存放到一维数组x中并显示,再按降序排序x并显示。
时间: 2024-02-09 14:09:24 浏览: 75
好的,我会尽力回答你的问题。以下是C语言的程序实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int m, n, i, j;
printf("请输入m和n的值:");
scanf("%d%d", &m, &n);
int a[m][n];
srand(time(NULL));
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
a[i][j] = rand() % 100;
printf("%3d ", a[i][j]);
}
printf("\n");
}
int x[m + n];
for (i = 0; i < m + n; i++) {
x[i] = 0;
}
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
x[i] += a[i][j];
x[m + j] += a[i][j];
}
}
printf("行和:");
for (i = 0; i < m; i++) {
printf("%d ", x[i]);
}
printf("\n列和:");
for (j = 0; j < n; j++) {
printf("%d ", x[m + j]);
}
printf("\n");
for (i = 0; i < m + n - 1; i++) {
for (j = i + 1; j < m + n; j++) {
if (x[i] < x[j]) {
int temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
printf("降序排列后:");
for (i = 0; i < m + n; i++) {
printf("%d ", x[i]);
}
printf("\n");
return 0;
}
```
程序首先从键盘上输入m和n的值,产生一个m行n列的随机整数(100以内)二维数组a,并显示该数组。然后按照题目要求,求出该二维数组m行的和及n列的和存放到一维数组x中,并显示。接着对x进行排序,按降序排列后再显示。注意,这里使用了srand()函数和time()函数来生成随机数。
希望这个程序能够帮助到你。如果你还有其他问题,可以继续提出。
阅读全文