编写冒泡程序对输入的15个无序整数排序。要求,编写3个子函数;1个为数组输入数据,1个为排序,一个为输出数组数据(输出结果5个一行显示)。主函数调用子函数来完成冒泡排序。
时间: 2023-06-07 18:11:45 浏览: 86
10大排序算法——01冒泡排序(Java实现)
5星 · 资源好评率100%
好的,我可以为您提供解决方案。
以下是我为您编写的冒泡排序程序。请将代码复制粘贴到您的 C 代码编辑器中,并按照您的需求进行修改。
```
#include <stdio.h>
// 定义子函数
void input(int arr[15]);
void sort(int arr[15]);
void output(int arr[15]);
// 主函数
int main() {
int arr[15];
// 调用输入函数
input(arr);
// 调用排序函数
sort(arr);
// 调用输出函数
output(arr);
return 0;
}
// 数组输入数据函数
void input(int arr[15]) {
int i;
printf("请输入 15 个整数:\n");
for (i = 0; i < 15; i++) {
scanf("%d", &arr[i]);
}
}
// 冒泡排序函数
void sort(int arr[15]) {
int i, j, temp;
for (i = 0; i < 14; i++) {
for (j = 0; j < 14 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 数组输出数据函数
void output(int arr[15]) {
int i;
printf("排序后的结果为:\n");
for (i = 0; i < 15; i++) {
printf("%d\t", arr[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}
}
}
```
请注意,以上代码要求用户输入 15 个整数,然后按升序排序并按每 5 个一行的格式输出。此外,输入、排序和输出分别由三个子函数执行。如有任何疑问,请随时与我联系!
阅读全文