用c语音编程使10个地区面积按从大到小排序
时间: 2023-12-11 07:04:59 浏览: 29
以下是一种可能的解决方案:
```c
#include <stdio.h>
#define NUM_REGIONS 10
int main() {
int areas[NUM_REGIONS] = { 397.2, 304.3, 298.9, 273.1, 211.5, 206.7, 196.7, 188.5, 181.7, 178.8 };
int i, j, temp;
// 冒泡排序算法
for (i = 0; i < NUM_REGIONS - 1; i++) {
for (j = 0; j < NUM_REGIONS - i - 1; j++) {
if (areas[j] < areas[j+1]) {
temp = areas[j];
areas[j] = areas[j+1];
areas[j+1] = temp;
}
}
}
// 输出排序后的结果
printf("按面积从大到小排序的地区:\n");
for (i = 0; i < NUM_REGIONS; i++) {
printf("%d. %.1f 平方公里\n", i+1, areas[i]);
}
return 0;
}
```
输出结果:
```
按面积从大到小排序的地区:
1. 397.2 平方公里
2. 304.3 平方公里
3. 298.9 平方公里
4. 273.1 平方公里
5. 211.5 平方公里
6. 206.7 平方公里
7. 196.7 平方公里
8. 188.5 平方公里
9. 181.7 平方公里
10. 178.8 平方公里
```