题目描述
从键盘输入三个字符,用空格隔开,使用带参宏定义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;
输入
输入三个字符,用空s格隔开
输出
输出占一行,包含三个字符,用空格隔开
样例输入
w a q
样例输出
w q a
代码实现
#include<stdio.h>
#define SWAP(a, b, t) { t=a; a=b; b=t; }
int main(){
char a[3],t;
scanf("%c %c %c",&a[0],&a[1],&a[2]);
for(int i=0;i<2;i++){
for(int j=i+1;j<3;j++){
if(a[i]<a[j]){
SWAP(a[i],a[j],t);
}
}
}
for(int i=0;i<3;i++){
printf("%c",a[i]);
if(i!=2){
printf(" ");
}
}
return 0;
}
提交结果: