如题所述
思路:求三个数x,y,z的大小顺序,可以先比较x和y的大小,把大值赋值x,小值赋值给y,接着比较x和z,把大值赋值x,小值赋值给z,则x为最大值,最后比较y和z的大小,把大值赋值给y,小值赋值给z,则z为最小值,x,y,z就是从大到小的顺序。
参考代码:
#include "stdio.h"int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x<y)
{
t=x; // 借助变量t,将x,y互换,此时x就是最小值,后面原理相同
x=y;
y=t;
}
if(x<z) //第二次互换后x是最小的(或最小之一)
{
t=z;
z=x;
x=t;
}
if(y<z)
{
t=y; //第三次后即确定大小
y=z;
z=t;
}
printf("排序后为:%d %d %d\n",x,y,z);
return 0;
}
/*
运行结果:
1 2 3
排序后为:3 2 1
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-09-13
你好!!!
#include<stdio.h>
void main()
{
int a,b,c;
printf("请输入 a b c:\n");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
a=b;
if(a<c)
a=c;
printf("最大的数是:%d\n",a);
}
测试:
请输入 a b c:
4 6 10
最大的数是:10
Press any key to continue本回答被网友采纳
#include<stdio.h>
void main()
{
int a,b,c;
printf("请输入 a b c:\n");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
a=b;
if(a<c)
a=c;
printf("最大的数是:%d\n",a);
}
测试:
请输入 a b c:
4 6 10
最大的数是:10
Press any key to continue本回答被网友采纳
第2个回答 2010-09-13
# include <iostream.h>
void main()
{
int a,b,c,t;
cin>>a>>b>>c;
int ch[]={a,b,c};
for(int i=1;i<3;i++)
for(int j=0;j<i;j++)
ch[j]<ch[i]?ch[j]:(t=ch[j],ch[j]=ch[i],ch[i]=t);
cout<<"所有数从小到大输出为:"<<endl;
for(int k=0;k<3;k++)
cout<<ch[k]<<'\t';
cout<<endl;
}本回答被提问者采纳
void main()
{
int a,b,c,t;
cin>>a>>b>>c;
int ch[]={a,b,c};
for(int i=1;i<3;i++)
for(int j=0;j<i;j++)
ch[j]<ch[i]?ch[j]:(t=ch[j],ch[j]=ch[i],ch[i]=t);
cout<<"所有数从小到大输出为:"<<endl;
for(int k=0;k<3;k++)
cout<<ch[k]<<'\t';
cout<<endl;
}本回答被提问者采纳