题目描述
从键盘输入三个字符,用空格隔开,使用带参宏定义1中SWAP,将三个字符按从大到小的顺序排序输出。 宏定义1:#define SWAP(a, b, t) { t=a; a=b; b=t; } 请尝试,如果用宏定义2中的SWAP,主函数需要如何修改才能得到正确结果? 宏定义2:#define SWAP(a, b, t) t=a; a=b; b=t;
输入
输入三个字符,用空格隔开
输出
输出占一行,包含三个字符,用空格隔开
样例输入 Copy
w a q
样例输出 Copy
w q a
#include <stdio.h>
#define SWAP(a, b, t) t=a; a=b; b=t;
int main(){
char ch[3];
char a,b,t,i,j;
scanf("%c %c %c",&ch[0],&ch[1],&ch[2]);
for(i=0; i<3; i++){
for(j=i+1; j<3; j++){
a=ch[i];
b=ch[j];
if(a<b){
SWAP(a, b, t)
}
ch[i]=a;
ch[j]=b;
}
}
for(i=0; i<3; i++)
printf("%c ",ch[i]);
return 0;
}