键盘输入三个字符(char型)后,按照各个输入字符的ASCII码大小,从小到大连续输出字符本身,再连续输出它们对应的ASCII码(以空格隔开)。用C语言怎么写
时间: 2023-05-15 17:05:46 浏览: 197
以下是 CSDN 开发的 C 知道的回答:
您可以使用冒泡排序算法来实现这个功能。具体步骤如下:
1. 定义一个 char 类型的数组,用于存储输入的三个字符。
2. 使用 scanf 函数从键盘输入三个字符,并将它们存储到数组中。
3. 使用冒泡排序算法对数组进行排序,排序的依据是字符的 ASCII 码大小。
4. 使用循环遍历数组,依次输出排序后的字符和它们对应的 ASCII 码,中间用空格隔开。
以下是示例代码:
```c
#include <stdio.h>
void bubble_sort(char arr[], int len) {
int i, j;
char temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
char arr[3];
int i;
printf("请输入三个字符:\n");
for (i = 0; i < 3; i++) {
scanf("%c", &arr[i]);
}
bubble_sort(arr, 3);
for (i = 0; i < 3; i++) {
printf("%c ", arr[i]);
}
printf("\n");
for (i = 0; i < 3; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输入示例:
```
请输入三个字符:
c b a
```
输出示例:
```
a b c
97 98 99
```
希望能够帮到您!
阅读全文