用c语言写,本题要求将给定的n个整数从大到小排序后输出。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
时间: 2023-11-14 16:11:10 浏览: 192
c代码-输入三个整数x,y,z,请把这三个数由小到大输出。
5星 · 资源好评率100%
以下是C语言的代码实现:
```c
#include <stdio.h>
#define MAX_N 10
int main()
{
int n, i, j, temp;
int a[MAX_N];
// 输入n和n个整数
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 冒泡排序
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-1-i; j++) {
if (a[j] < a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
// 输出排序后的结果
for (i = 0; i < n; i++) {
printf("%d", a[i]);
if (i != n-1) {
printf(" ");
}
}
return 0;
}
```
冒泡排序的时间复杂度为 $O(n^2)$,但对于本题所给的数据范围来说,效率足够高。如果需要更高效的排序算法,可以使用快速排序、归并排序等。
阅读全文