标题:输入四个整数,要求按从小到大的顺序输出!
取消只看楼主
feelings010
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-4-20
 问题点数:0 回复次数:5 
输入四个整数,要求按从小到大的顺序输出!
输入四个整数,要求按从小到大的顺序输出!
请问这道题除了以下这种方法,有没有更加简洁的?谢谢!


#include<stdio.h>
void main(){
int a,b,c,d,t;
printf("请输入四个整数:\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{ t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=a;}
if(b>c)
{t=b;b=c;c=t;}
if(b>d)
{t=b;b=d;d=t;}
if(c>d)
{t=c;c=d;d=t;}
printf("四个整数从小到大的顺序输出是:%d,%d,%d,%d",a,b,c,d);
}
搜索更多相关主题的帖子: 整数 输出 从小到大 顺序 输入 
2007-04-27 09:46
feelings010
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-4-20
得分:0 
哇,好多方法啊!谢谢各位!
2007-04-27 17:42
feelings010
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-4-20
得分:0 
以下是引用ycxue46在2007-4-27 11:01:34的发言:
main()
{
int i,j,k,t,a[4];
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
{
k=i;
for(j=i+1;j<4;j++)
if(a[j]<a[k])
k=j;
if(k!=i)
t=a[i];a[i]=a[k];a[k]=t;
}

printf("%d",a);
}

这个执行结果好像不是所想要的?能不能再看下!谢谢!

2007-04-27 17:47
feelings010
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-4-20
得分:0 
for(i=1;i<=4-1;i++)
for(j=1;j<=4-i;j++)
if(x[j-1]>x[j])

能否帮我解释下这几行是怎么说的,如果这样的话不就只有三个数嘛?我是刚学的,所以不便之处请大家原谅下,请大家多多指教,谢谢!
2007-04-27 18:05
feelings010
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-4-20
得分:0 
好的,我会好好学的!谢谢!
2007-04-28 08:52
feelings010
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-4-20
得分:0 
以下是引用hackerjiang在2007-4-27 16:14:07的发言:
使用冒泡法就OK啦
main()
{
int sum[4],dataA=0,dataB=0,temp;
for(;dataA<4;dataA++)
scanf("%d",&sum[0]);
for(dataA=0;dataA<3;dataA++)
for(;dataB<3-dataA;dataB++)
if(sum[dataA]>sum[dataA+1])
{
temp=sum[dataA];sum[dataA]=sum[dataB+1];sum[dataB+1]=temp;
}
for(dataA=0;dataA<4;dataA++)
printf("%d ",sum[dataA]);
}

这位朋友,你有没有运行过,我运行了好像不是所要结果,能不能再仔细看下,谢谢!

2007-04-28 09:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-135315-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.342909 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved