1179: 带参宏定义(函数专题)

2023-04-27 20:57:32 浏览数 (2)

题目描述

从键盘输入三个字符,用空格隔开,使用带参宏定义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

代码语言:javascript复制
w a q

样例输出 Copy

代码语言:javascript复制
w q a
代码语言:javascript复制
#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;
}

0 人点赞