一个c++的编程疑惑

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:38:51
题目是 :用c++编程,使任意4个整型能按从小到大排列
我的编法如下:
#include <iostream.h>
void main ()
{
int a,b,c,d,no1,no2,no3,no4;
cin>>a>>b>>c>>d;

if ((a-b)*(a-c)*(a-d)>0)
{(a>b)&&(a>c)&&(a>d)? no4=a : no2=a;}
else
{(a<b)&&(a<c)&&(a<d)? no1=b : no3=b;}

if ((b-a)*(b-c)*(b-d)>0)
{(b>a)&&(b>c)&&(b>d)? no4=b : no2=b;}
else
{(b<a)&&(b<c)&&(b<d)? no1=b : no3=b;}

if ((c-a)*(c-b)*(c-d)>0)
{(c>a)&&(c>b)&&(c>d)? no4=c : no2=c;}
else
{(c<a)&&(c<b)&&(c<d)? no1=c : no3=c;}

if ((d-a)*(d-b)*(d-c)>0)
{(d>a)&&(d>b)&&(d>c)? no4=d : no2=d;}
else
{(d<a)&&(d<b)&&(d<c)? no1=d : no3=d;}

cout<<no1<<" "<<no2<<" "<<no3<<" "<<no4<<endl;
} 但目的达不到,是哪里错了???

问题由安全基地 www.cnnsc.org WOSHIWANGHONGYU 回答
安全基地2
程序员可以在那里找到你想要的解答....
我一会还有事
现在没时间给你解答哈
不过你的程序写的有点复杂
你可以去安全基地里面看看
www.cnnsc.org

建议使用一些常用的排序算法,有的是很简单的,如冒泡,你这个程序太繁了。

用quicksort().