冒泡法排序c语言程序用scanf
时间: 2025-01-08 14:20:11 浏览: 2
### C语言冒泡排序使用 `scanf` 输入示例
下面展示了一个完整的C语言程序,用于通过命令行接收用户输入的一系列整数,并利用冒泡排序算法对其进行排序。此代码片段遵循标准的编程实践,确保了良好的可读性和功能性。
```c
#include <stdio.h>
int main() {
int n, a[100], temp;
// 获取要排序的数据量
printf("请输入待排序数据的数量: ");
scanf("%d", &n);
// 接收具体数值
printf("依次输入%d个整数:\n", n);
for (int i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
// 开始执行冒泡排序逻辑
for (int i = 0; i < n - 1; ++i) { // 控制遍历次数
for (int 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;
}
}
}
// 输出排序后的结果
printf("按照升序排列的结果如下:\n");
for (int i = 0; i < n; ++i) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
上述代码实现了基本的冒泡排序功能,其中包含了从终端获取用户输入的功能[^2]。为了适应更广泛的场景,在这里调整了一些细节,比如数组索引是从零开始而不是一;同时增加了提示信息以便于理解各个阶段的操作目的。
阅读全文