输入10个实数到数组k,按从大到小输出
时间: 2024-11-13 08:25:17 浏览: 29
当然,你可以使用以下C语言代码来实现这个功能。首先,你需要定义一个动态数组(这里假设数组名为`k`),然后读入10个实数并进行排序,最后按照降序输出。这里使用的是冒泡排序算法,因为它简单直观,对于小规模数据来说效率尚可。
```c
#include <stdio.h>
#include <stdlib.h>
// 动态分配数组
int* create_array(int size) {
int* arr = (int*)malloc(size * sizeof(int));
if (!arr) {
printf("Memory allocation failed.\n");
return NULL;
}
return arr;
}
// 冒泡排序函数
void bubble_sort_descending(int* arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n = 10;
int* k = create_array(n);
if (k != NULL) {
for (int i = 0; i < n; i++) {
printf("Enter real number %d: ", i + 1);
scanf("%d", &k[i]);
}
// 对数组进行排序
bubble_sort_descending(k, n);
printf("\nThe numbers in descending order are:\n");
for (int i = 0; i < n; i++) {
printf("%d ", k[i]);
}
// 清理内存
free(k);
} else {
printf("Program terminated due to memory allocation error.\n");
}
return 0;
}
```
在这个程序中,我们首先创建了一个长度为10的数组`k`,然后让用户逐个输入实数,接着使用冒泡排序算法对数组进行降序排列,最后打印排序后的结果。
阅读全文