c语言编写程序,从键盘输入 n(n<30)个学生的身高(实型,保留两位小数)并存入数组中,按身高从高到低排 序,并输出排序后的身高。 输入格式: 输入n的值,然后输入n个身高,用空格隔开。 输出格式: 降序输出排序后的身高,每个身高后一个空格(保留两位小数)。
时间: 2024-02-20 07:02:33 浏览: 100
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
下面是C语言的代码实现:
```c
#include <stdio.h>
#define MAX_N 30 // 定义最大学生数量
int main() {
float heights[MAX_N]; // 定义身高数组
int n, i, j;
float temp; // 用于交换的临时变量
scanf("%d", &n); // 读入学生数量
for (i = 0; i < n; i++) {
scanf("%f", &heights[i]); // 读入每个学生的身高
}
for (i = 0; i < n - 1; i++) { // 冒泡排序
for (j = 0; j < n - i - 1; j++) {
if (heights[j] < heights[j + 1]) {
// 如果前一个数比后一个数小,则交换它们的位置
temp = heights[j];
heights[j] = heights[j + 1];
heights[j + 1] = temp;
}
}
}
for (i = 0; i < n; i++) { // 输出排序后的身高
printf("%.2f ", heights[i]);
}
return 0;
}
```
程序首先定义身高数组,然后读入学生数量和每个学生的身高。接着使用冒泡排序算法对身高数组进行排序,最后输出排序后的身高。需要注意的是,C语言中输出小数时使用的是`printf`函数,格式化字符串为`"%.2f"`。
阅读全文