题目描述
输入3个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。
输入
3行,每行一个用字符串。保证每个字符串的长度不超过20。
输出
按从小到大的顺序输出这3个字符串,每个字符串一行。
请注意行尾输出换行。
样例输入
China
CLOCK
deal
样例输出
CLOCK
China
deal
思路:其中数组的交换需要对数组内元素进行逐个交换。
#include<cstdio>
#include<cstring>
void cmp_xy(char *x,char *y,char *temp){
int i=0;
int max_n=strlen(x)>strlen(y)?strlen(x):strlen(y)+1;
while(!(x[i]=='\0'&&y[i]=='\0')){
if(x[i]>y[i]){
for(int j=0;j<max_n;j++){
temp[j]=x[j];
x[j]=y[j];
y[j]=temp[j];
}
break;
}else if(x[i]<y[i])break;
else i++;
}
}
int main(){
char a[20],b[20],c[20],temp[20];
gets(a);
gets(b);
gets(c);
cmp_xy(a,b,temp);
cmp_xy(b,c,temp);
cmp_xy(a,b,temp);
puts(a);
puts(b);
puts(c);
return 0;
}