用C语言解决以下问题:下面程序的功能是用冒泡法对10个整数按 降序进行排序。 修改该程序,要求将/*began*/与/*end*/之间的代码用 一个函数来实现。#include <stdio.h> void main() { int a[11],i,j,t; printf("Input 10 numbers:\n"); for(i=1;i<11;i++) scanf("%d",&a[i]); printf("\n"); /*began*/ for(j=1;j<=9;j++) for(i+1;i<=10-j;i++) if(a[i]<a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; } /*end*/ printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d",a[i]); }
时间: 2023-06-16 08:05:28 浏览: 49
修改后的程序如下:
```c
#include <stdio.h>
void bubble_sort(int a[], int n); // 声明冒泡排序函数
int main() {
int a[11], i;
printf("Input 10 numbers:\n");
for (i = 1; i <= 10; i++) {
scanf("%d", &a[i]);
}
printf("\n");
bubble_sort(a, 10); // 调用冒泡排序函数
printf("The sorted numbers:\n");
for (i = 1; i <= 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
void bubble_sort(int a[], int n) {
int i, j, t;
for (j = 1; j <= n - 1; j++) {
for (i = 1; i <= n - j; i++) {
if (a[i] < a[i + 1]) {
t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
}
}
}
```
修改后的程序将排序部分的代码封装到了一个名为`bubble_sort`的函数中,该函数接受一个整型数组和数组长度作为参数,实现冒泡排序功能。在`main`函数中,我们先读入10个整数,然后调用`bubble_sort`函数进行排序,最后输出排序后的结果。