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

画出流程图,并用清晰的思路写出程序

#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;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-24
#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
结束
第2个回答  2011-08-24
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");
}
第3个回答  2011-08-24
#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;
}本回答被提问者采纳
第4个回答  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;

C++语言编程:输入三个数,从小到大输出。
main(){int number[3],i,j,t;for(i=1;i<=3;i++) \/*用for循环给数组赋值 *\/ { scanf("%d",&number[i]); }for(j=1;j<=2;j++) \/*如果number[j]>number[j+1],则交换他们的值,这样就从小道大排列 *\/ if(number[j]>number[j+1]){ t=number[j+1];nu...

C++语言编程:输入三个数,从小到大输出。
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(...

C++语言编程:输入三个数,从小到大输出。
思路可以这样考虑:在定义好这些数据(包括要输入的三个数据a,b,c和三个需要重新排序输出的三个数据,min,middle,max)之后,可以依次比较a,b,c 的大小,将较大者依从小到大的顺序赋值给min,middle,max,在依次输出min,middle,max,即可!重点是:在比较a,b,c的时候赋值给min,middle,max流程图是...

C++编程:输入三个整数,并按大小顺序输出
C++编程中的一个常见任务是处理整数的排序。当需要输入三个整数a、b和c,然后按从小到大的顺序输出时,可以使用以下逻辑来实现:首先,比较a和b,如果a小于b(ab成立),则判断b和c的大小。如果b大于c(bc成立),说明c是当前最小值,b是中间值,a是最大值。否则,如果a大于c(ac成立),则b是...

用c++写:输入xyz3个数,按从小到大得次序显示输出。
int main(){ int a[4],i,j,m;scanf("%d",&a[1]);scanf("%d",&a[2]);scanf("%d",&a[3]);for(i=1;i<=3;i++){ for(j=i+1;j<=3;j++){ if(a[i]>a[j]){ m=a[i];a[i]=a[j];a[j]=m;};};};printf("%d<%d<%d\\n",a[1],a[2],a[3]);system("...

C++输入三个数,由小到大顺序输出
可以采用排序算法,比如冒泡排序。或者直接找出最大值和最小值,然后从小到大输出。int min=INT_MAX int max=INT_MIN int mdium if(num<min)min=num if(num>max)max=num cout<<min<<medium<<max

用c++编写程序,输入三个数abc, 使三个数按从小到大输出
include <iostream>using namespace std;int main(){int a,b,c,t;cin >> a>>b>>c ;if ( a > b ){ \/\/交换两数 t=a; a=b; b=t;}\/\/到此,保证a<=bif ( c < a ) \/\/小于小的,为最小 cout << c << " " << a << " " << b <<endl ;else if (...

利用C++编程,比较由键盘输入的三个数大小,并按从小到大依次输出,请问如 ...
1、首先,定义4个整型变量,保存输入数字的各位数值。2、定义两个整型变量,保存输入的4位数和求反输出的数。3、接着,在窗口中输入要求反的4位数。4、将输入的4位数,在窗口中输出。计算4位数最高位上的数,保存在变量t中。5、最后运行程序,输入一个4位数字后,在输出窗口反向输出该数,就完成...

用C语言输入3个整数,要求按从小到大的顺序输出。谢谢大家
include<stdio.h>void main(){int a,b,c,t;printf("请输入三个整数:a b c\\n");scanf("%d%d%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("排序后的三个整数为:%d,%d,%d\\n",a,b,c);} 语言标准 起初,C...

输入三个整数,按从小到大顺序输出(C++)
using namespace std;void chang(int& ,int&);int main(){ int a,b,c;a=2;b=3;c=1;\/*cout<<"请您输入三个整数:"<<endl;cin>>a;cin>>b;cin>>c;*\/ chang(a,b);chang(a,c);chang(b,c);cout<<a<<" "<<b<<" "<<c<<endl;return 0;} void chang(int& x,int& y...

相似回答