注册 登录
编程论坛 新人交流区

一道题不会

shenjian 发布于 2007-10-30 20:13, 1107 次点击
用if  else来写一个程序,要求是随便输入三个数,然后按从小到大顺序输出。初学者需要帮助,谢谢,速度哦
26 回复
#2
baohua5202007-10-30 20:18

郁闷~!跟我遇到的题一样.我也在找答案还没想出来.等出来了在这公布下

#3
game158882007-10-30 20:39
#include <stdio.h>
main()
{
int max(int,int,int);
int a,b,c,z;
printf("please input three number, warning write',':\n");
scanf("%d,%d,%d",&a,&b,&c);
z=max(a,b,c);
printf("max=%d press any key to exit!",z);
getch();
}
int max(int x,int y,int w)
{
int max_3;
if (x>y) max_3=(x>w)?x:w;
else max_3=(y>w)?y:w;
return max_3;
}
我也是新手,一起学习~!(以上代码调试过,可以通过~!)
#4
game158882007-10-30 20:40
呵呵~~不好意思看错题目了
#5
xilong832007-10-30 21:13

两两比较,然后输出

#6
nicaiwa2007-10-31 09:52

你要说是用的什么编程啊!不过方法都差不多。
首先输入三个数 a,b,c
if(a>b>c)
{
输出 c,b,a
}
else
{
if(a>c>b)
{
输出 b,c,a
}
else
{
if(b>c>a)
{
输出 a,c,b
}
else
{
if(b>a>c)
{
输出 c,a,b
}
else
{
if(c>b>a)
{
输出 a,b,c
}
else
{
输出 b,a,c
}
}
}

}
}

#7
happyxhl2007-10-31 11:08
冒泡排序法,顺序排序法
#8
trandy2007-10-31 11:39
呵呵,学习中也遇到过,不过现在又不会了
#9
kenning2007-10-31 11:44
ASP的能写,呵呵
#10
zhuliyan2007-10-31 14:24
冒泡法:
#include<iostream>
using namespace std;

int main()
{
int N,i,t;
cout<<"请输入N的值:"<<endl; //N个数排序!
cin>>N;
int a[N];
cout<<"原始数组为:"<<endl;
for(i=0;i<N;i++)
cout<<a[i];
for(i=0;i<N;i++) //轮次
for(j=0;j<N-i;j++)
if(a[j]>a[j-1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
cout<<"排序后:"<<endl;
for(i=1;i<N;i++)
cout<<a[i];
}

VC做的
简单的双重循环!
#11
wangtianhong2007-11-01 19:43
冒泡排序、快速排序、插入排序、堆排序、希尔排序。。。
#12
chendsily2007-11-01 19:57
一个计算两数和积的程序,按1求和,按2求积,有没有人帮忙修改一下

#include <stdio.h>
int main()
{
float a,b,c,s,v;
printf("a???");
scanf("%f",&a);
printf("b??");
scanf("%f",&b);
s=a+b;
v=a*b;
char t;
printf("输入1求和,输入2求积");
scanf("%f",&t);
if(t=='1')
printf("%f",s);
else if(t=='2')
printf("%f",v);
else
printf("wrong");

}
#13
toutou12312007-11-01 20:21
单单就是实现结果 楼上 没什么错误
#14
hamsleek2007-11-01 20:25
晕死,三个数还冒泡,插入,无语了.
#15
cosdos2007-11-02 00:00

/* 这个算法还是不叫绕的 */

int a, b, c;

if(a >= b)
{
if(b >= c)
c b a
else if(a >= c)
b c a
else
b a c
}
else
{
if(a >= c)
c a b
else if(c > b)
a b c
else
a c b
}

#16
cosdos2007-11-02 00:01
/* 比较绕 */
#17
cosdos2007-11-02 00:20

/* 最多进行 3 次 if 比较

#include <stdio.h>

int main(void)
{
int a, b, c;

while(scanf("%d %d %d", &a, &b, &c) == 3)
{
if(a > b)
{
if(b > c)
printf(" %d %d %d\n", c, b, a);
else if(a > c)
printf(" %d %d %d\n", b, c, a);
else
printf(" %d %d %d\n", b, a, c);
}
else
{
if(a > c)
printf(" %d %d %d\n", c, a, b);
else if(c > b)
printf(" %d %d %d\n", a, b, c);
else
printf(" %d %d %d\n", a, c, b);
}
}

return 0;
}

#18
googleaw2007-11-02 02:02
冒泡排序法,顺序排序法
#19
kakawei2007-11-05 23:58
数组,在加上冒泡排序,别说3个,再多也没问题,快速搞定!
#20
renwolin2007-11-06 00:07
初学者,有些看不明白
#21
ionmm2007-11-06 06:12
#include<iostream>
using namespace std;
void main()
{
int a,b,c;
cin>>a;
cin>>b;
cin>>c;
if(a >= b)
{
if(b <= c)
{
if(a >= c)
{
cout<<b<<"-"<<c<<"-"<<a<<endl;
}
else
{
cout<<b<<"-"<<a<<"-"<<c<<endl;
}
}
else
{
cout<<c<<"-"<<b<<"-"<<a<<endl;
}
}
else
{
if(b >= c)
{
if(a >= c)
{
cout<<c<<"-"<<a<<"-"<<b<<endl;
}
else
{
cout<<a<<"-"<<c<<"-"<<b<<endl;
}
}
else
{
cout<<a<<"-"<<b<<"-"<<c<<endl;
}
}
}
#22
ionmm2007-11-06 06:15

如果要比较的个数多的话,那if和else就不管用了。得用其他排序法。

#23
lihuasy2007-11-06 08:52
以下是引用zhuliyan在2007-10-31 14:24:43的发言:
冒泡法:

#include<iostream>

using namespace std;


int main()

{

int N,i,t;

cout<<"请输入N的值:"<<endl; //N个数排序!

cin>>N;

int a[N];

cout<<"原始数组为:"<<endl;

for(i=0;i<N;i++)

cout<<a[i];

for(i=0;i<N;i++) //轮次

for(j=0;j<N-i;j++)

if(a[j]>a[j-1])

{

t=a[j];a[j]=a[j+1];a[j+1]=t;

}

cout<<"排序后:"<<endl;

for(i=1;i<N;i++)

cout<<a[i];

}


VC做的

简单的双重循环!

这位做得最好!!!

#24
gaolf20062007-11-08 10:45
先把大的放在最后,然后把第二大的放在倒数第二,此时循环比第一次循环少一次
依此类推
#25
刹那公子2007-11-08 11:06
新手互助
#include<stdio.h>
main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if (a<b)
t=a,a=b,b=t;
if (c<b)
printf("%d%d%d",c,b,a);
else if (c>a)
printf("%d%d%d",b,a,c);
else
printf("%d%d%d",b,c,a);
}
#26
zjhofzj2007-11-14 22:20
#include<iostream>
using namespace std;
int main()
{
int a,b,c;cin>>a>>b>>c;
int First=a;int Second;
if(First>=b)
{
Second=b;
}
else
{
First=b;
Second=a;
}
if(Second>=c)
{
cout<<c<<" "<<Second<<" "<<First<<endl;
}
else
{
if(c>=First) cout<<Second<<" "<<First<<" "<<c<<endl;
else cout<<Second<<" "<<c<<" "<<First<<endl;
}
return 0;
}
#27
zjhofzj2007-11-14 22:22
这样感觉好理解一点 觉得有时候给太先进的东西蛮吓人的
1