c语言 用冒泡法对输入的十个字符按ASCII码从小到大排序 getchar函数
时间: 2024-05-12 20:18:34 浏览: 109
可以用于读取字符,而冒泡排序的实现步骤如下:
1. 读取输入的十个字符并存储在一个数组中。
2. 使用冒泡排序算法对数组进行排序,即不断地比较相邻的元素,如果前面的元素大于后面的元素,则交换它们的位置,直到整个数组有序为止。
3. 最后输出排好序的十个字符。
下面是使用冒泡排序对输入的十个字符按ASCII码从小到大排序的示例代码:
```
#include <stdio.h>
int main() {
char arr[10];
int i, j;
printf("请输入十个字符:\n");
for (i = 0; i < 10; i++) {
arr[i] = getchar();
}
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (arr[j] > arr[j + 1]) {
char temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("排序后的十个字符为:\n");
for (i = 0; i < 10; i++) {
printf("%c ", arr[i]);
}
return 0;
}
```
注意,以上代码中的 getchar() 函数会读取缓冲区里的一个字符并返回其 ASCII 码值。如果你需要读取换行符,则应该使用 getchar() 后面跟着一个 getchar(),如下所示:
```
char c = getchar(); // 读取输入的字符
getchar(); // 读取输入的换行符
```
这是因为输入十个字符后按下回车键,回车键也会被当作一个字符读入缓冲区。第一个 getchar() 函数读取的是输入的字符,第二个 getchar() 函数读取的是回车键。如果不读取回车键,则会导致下一次 getchar() 函数直接返回换行符,而不是我们期望的字符。
阅读全文