C语言本题要求输入n(n<10)个正整数,将它们从大到小排序后输出,要求使用冒泡排序算法。 样例程序: #include <stdio.h> #define MAXN 10 void bubble (int a[ ], int n); int main(void) { int n, a[MAXN]; int i; scanf("%d", ); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } bubble( , n); for (i = 0; i < n; i++) { printf("%d ", a[i]); } return 0; } void bubble (int a[ ], int n) { int i, j, t; for( i = 1; i < n; i++ ){ for (j = 0; j < ; j++ ){ if (a[j] a[j+1]){ t=a[j]; ; a[j+1]=t; } } } }
时间: 2024-03-22 22:38:16 浏览: 121
根据题目要求,我们需要编写一个冒泡排序算法,可以按照以下方式实现:
```
void bubble(int a[], int n) {
int i, j, temp;
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;
}
}
}
}
```
在主函数中,我们需要读入 n 个数,存入数组 a 中,然后调用 bubble 函数进行排序,最后输出排序后的数组即可。代码如下:
```
#include <stdio.h>
#define MAXN 10
void bubble(int a[], int n);
int main(void)
{
int n, a[MAXN];
int i;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
bubble(a, n);
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
return 0;
}
void bubble(int a[], int n)
{
int i, j, temp;
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;
}
}
}
}
```
阅读全文