C++语言编程:输入三个数,从小到大输出。

画出流程图,并用清晰的思路写出程序... 画出流程图,并用清晰的思路写出程序 展开
 我来答
xoalyg
2011-08-24 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2387万
展开全部

#include <stdio.h>

int min(int m,int n) {  return((m > n) ? n : m); }

int main() {

    int a,b,c;

    printf("请输入三个整数(逗号隔开): ");

    scanf("%d,%d,%d",&a,&b,&c);

    if(a > b) {

        if(b > c) printf("%d %d %d\n\n",c,b,a);

        else if(a > c) printf("%d %d %d\n\n",b,c,a);

        else printf("%d %d %d\n\n",b,a,c);

    }

    else if(c > b) printf("%d %d %d\n\n",a,b,c);

    else if(a > c) printf("%d %d %d\n\n",c,a,b);

    else printf("%d %d %d\n\n",a,c,b);

    return 0;

}

546119978
2011-08-24 · TA获得超过543个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:357万
展开全部
#include<iostream>
using namespace std;
int main()//定义主程序函数
{
int a,b,c,t;//定义四个整型变量,a,b,c分别是输入的三个数字,t为交换时所需的临时变量
cin>>a>>b>>c;//依次读取a,b,c
if(a>b){t=a;a=b;b=t;}//如果a比b大,交换a和b
if(a>c){t=a;a=c;c=t;}//如果a比c大,交换a和c
if(b>c){t=b;b=c;c=t;}//如果b比c大,交换b和c
cout<<a<<b<<c;//依次输入排序后的a,b,c
return 0;//返回0,结束
}
————————————————————————
以下是模拟样例说明:
输入:2 3 1
当前:a=2,b=3,c=1
判断:a>b是否为真,当前a=2,b=3,a<b,所以不执行if语句后的内容
判断:a>c是否为真,当前a=2,c=1,a>b,所以执行if语句后的内容,交换a和c,当前:a=1,b=3,c=2
判断:b>c是否为真,当前b=3,c=2,b>c,所以执行if语句后的内容,交换b和c,当前:a=1,b=2,c=3
依次输出a,b,c,分别为1,2,3
输出结果:1 2 3
结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户23050
2011-08-24 · TA获得超过387个赞
知道答主
回答量:618
采纳率:100%
帮助的人:310万
展开全部
template<class T> T g(T a, T b)
{
if(a>b)
else return a;

}

void main()

{
int a,b,c;
cin>>a>>b>>c;

while(a==b||a==c||b==c) //判断是否有输入相等的数。

if(g(g(a,b),c)==a) //首先判断最小数是否是变量a
{ if(g(b,c)==b) //如果最小数是a,则再判断最小数是否是b,如果是就知道从小到到顺序为abc了

else //否则,从小到大的顺序就为acb

}

if(g(g(a,b),c)==b) //与上一个if原理类似

else
}

if(g(g(a,b),c)==c)

else
}

system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2011-08-24 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4678万
展开全部
#include <stdio.h>
void exchange(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y) exchange(&x,&y);
if(y>z) exchange(&y,&z);
if(x>y) exchange(&x,&y);
printf("x=%d y=%d z=%d\n",x,y,z);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-24
展开全部
int num[3]={3,2,1};
for(int i=0;i<2;i++)
for(int j=i+1;j<3;j++)
if(num[i]>num[j]) {int temp=num[i];num[i]=num[j];num[j]=temp;}
for(int i=0;i<3;i++)
cout<<num[i]<<" ";
cout<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式