c语言编程题,输入3个数字x,y,z,按从小到大排列输出,但不输出数字,只排列输出x,y,z

如题所述

#include<stdio.h>
int main()
{
int x,y,z;
char str[]="xyz",ch;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{ch=str[0];str[0]=str[1];str[1]=ch;}
if(x>z)
{ch=str[0];str[0]=str[2];str[2]=ch;}
if(y>z)
{ch=str[1];str[1]=str[2];str[2]=ch;}
printf("%s\n",str);
return 0;
}

//示例运行结果
F:\c_work>a.exe
2 3 4
xyz
F:\c_work>a.exe
3 2 4
yxz
F:\c_work>a.exe
3 2 3
yxz

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-19
#include<stdio.h>
void main() { int x,y,z,a; char s[4]={ "xyz" },c;
  scanf("%d%d%d",&x,&y,&z);
  if ( x>y ) { b=x;x=y;y=b; c=s[0];s[0]=s[1];s[1]=c; }
  if ( x>z ) { b=x;x=z;z=b; c=s[0];s[0]=s[2];s[2]=c; }
  if ( y>z ) { b=y;y=z;z=b; c=s[1];s[1]=s[2];s[2]=c; }
  printf("%s\n",s);
}

本回答被网友采纳