主题总数:270876
总帖数:1119824
注册会员总数:255497
今日总帖数:307
|
|
├─◆ 狼盟首页 > 查看贴子 > 详细信息
楼主
三个数比较大小问题
大家好,我有一个问题想问一下各位高手,有3个数比较大小,让它从大到小输出
-
redsky9919 [ 1 楼 ]
2004-02-29 23:37:00
#include "Stdio.h"
#include "Conio.h"
main()
{
int *i,j,k,n,m,s; int a[3];
i=a;
printf("input a number:
");
for(i=a;i<=a+2;i++)
scanf("%d",i);
i=a;
for(j=0;j<=2;j++)
{for(k=0;k<=2;k++)
{if(*(i+j)<*(i+k))
n=*(i+j);
if(*(i+j)>*(i+k))
m=*(i+j);
}
}
i=a;
for(j=0;j<=2;j++)
{if(*(i+j)!=m&&*(i+j)!=n)
s=*(i+j); }
printf("%d%d%d",m,s,n);
getch();
}
仅仅适合于3个数的比较!
-
advance [ 2 楼 ]
2004-03-01 09:08:00
#include <stdio.h>
main()
{
int a,b,c,t;
printf("input a,b,c:");
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",a,b,c);
}
这个程序怎么样?望大虾指点。
我是tc初学者,以后还有很多问题要向大家请教,在此先谢谢了。
-
aking [ 3 楼 ]
2004-03-01 12:30:00
#include <stdio.h>
main()
{
int a,b,c,t;
printf("input a,b,c:");
scanf("%d%d%d",&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互换,这是实现了最小的放入a中 *
if(b<c)
{t=b;b=c;c=t;} *将b、c做比较,实现b、c互换 此时已排好了大小顺序*
printf("%d%d%d",a,b,c);
-
advance [ 4 楼 ]
2004-03-01 12:40:00
3楼的兄弟,第10行注释应该是“实现了把最大的数放在a中”吧。
-
空气 [ 5 楼 ]
2004-03-01 15:38:00
同意4楼的说法 3楼的好象是打错字了 :)
-
radio [ 6 楼 ]
2004-03-01 19:38:00
一楼的同志:
你的代码什么意思?
-
www82621677 [ 7 楼 ]
2004-03-01 20:13:00
怎么说那。各位编写的程序比较3个数还可一
但是要比较多个那怎么做啊;
我试编写一个比较多个数的程序/.没有编译请自己编译把
fun(int a,int b,int c .....int d) 在这里形式参数是可以有很多个。我就做几
个演示一下 .形式参数是 a b c d
{ int k,l,r,x,v[MAX]; 在这里的MAX可以是一个宏定义的最大数
v[0]=a;v[1]=b;v[2]=c;v[3]=d; 要是比较的数多的还还可以继续负值
for(k=0;k<4;k++) 在这里的4要看你比较的数的个数决定了
{l=k;
for(r=k+1;r<4;r++)
if(v[r]>v[k]l=r;
x=v[0];v[0]=v[l];v[l]=x;
} 这个循环是将所有的数从大到小的排列在数组当中
}
在输出的时候只要一个循环就可以了
-
redsky9919 [ 8 楼 ]
2004-03-01 23:58:00
答6楼
一楼的同志:
你的代码什么意思?
找出最大的,找出最小的!在去掉最大和最小的!所以我在下面著名了这只是用于3个筛骨的查找!
呵呵我是菜菜!
大家不要笑我!
|
|
| |
|
|