使用VS2019
ISO C++14 标准 (/std:c++14)
ASCII码排序
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
//ASCII码排序
//输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
//本程序并不包含处理输入错误的机制!
#include<stdio.h>
int main(){
char c1, c2, c3;
printf("请输答入三个专字符:\n");
//getchar的功能是获取一个字符,不是字符串!
//getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,/
//也就是说,如果stdin有数据的话不用输入它就可以直接读取了,/
//第一次调用getchar()时,确实需要人工的输入,但是如果你输了多个字符,/
//以后的getchar()再执行时就会直接从缓冲区中读取了。
c1 = getchar();
c2 = getchar();
c3 = getchar();
printf("c1的值为%d\n", c1);
printf("c2的值为%d\n", c2);
printf("c3的值为%d\n", c3);
//三个字符进行比较,按照先小后大的顺序再输出!
//这是一个排序问题,采用冒泡排序的方法
char temp[3] = { c1, c2, c3 };
//两次排序,定义双层循环
int i,j ;
for (i = 0; i <= 1; i++) {
for (j = 0; j <= 1; j++) {
int temp_var;
if (temp[j] > temp[j + 1]) {
temp_var = temp[j];
temp[j] = temp[j + 1];
temp[j + 1] = temp_var;
}
}
}
int k;
//printf打印字符是%c
for (k = 0; k <= 2; k++) printf("%c", temp[k]);
return 0;
}