C语言:给一个二维数组,它的长宽设置为 N,N 是一个输入的值,数组中的每一个数都是 一个 1~2 之间的随机小数,显示数组。 显示数组后,使用任意方法排序数组.
时间: 2024-05-11 13:15:00 浏览: 89
好的,这是一个关于C语言的问题。以下是实现这个问题的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
double x = *(double *)a, y = *(double *)b;
if (x < y) return -1;
if (x > y) return 1;
return 0;
}
int main() {
int n;
scanf("%d", &n);
double arr[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = 1 + (double)rand() / RAND_MAX;
printf("%.2lf ", arr[i][j]);
}
printf("\n");
}
printf("\n");
for (int i = 0; i < n; i++) {
qsort(arr[i], n, sizeof(double), cmp);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%.2lf ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个代码中,我们首先使用 `scanf` 获取输入的 `n`,然后使用 `rand` 生成 1~2 之间的随机小数填充数组,同时输出数组的值。接着使用 `qsort` 函数对每一行进行排序,最后输出排序后的数组。
希望这个代码可以帮助你解决这个问题。
阅读全文