标题:输入四个整数,要求按从小到大的顺序输出!请求改一下
只看楼主
lico
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-1-15
得分:0 
回复:(liuminghui)冒泡排序的思想:一共要比较几趟...

我没考虑什么冒泡法

我就是想知道,我那么做为什么不对
我自己一直没想明白


[此贴子已经被作者于2007-4-28 12:35:37编辑过]

2007-04-28 12:31
ycxue46
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-4-16
得分:0 

int main(void)
{
int a[4],i,j,p;
printf("please input 4 number:\n");
{for (i=0;i<=3;i++)
scanf("%d",&a[i]);}

for(i=0;j<3;j++)
{
for (j=i+1;j<4;j++)
{
if (a[i]>a[j])
p=a[i];
a[i]=a[j];
a[j]=p;
}
}
for (i=0;i<=3;i++)
printf("%d",a[i]);

getch();
return 0;
}

2007-04-28 13:38
ycxue46
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-4-16
得分:0 

其实是输出语句放的位置问题与多少趟和多少次无关

2007-04-28 13:39
pvocnxit
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-12
得分:0 
我的想法跟2楼的一样,你定义的那个整形变量k根本就可以不要!
2007-04-30 10:36
wanglin830420
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-16
得分:0 
干嘛这么麻烦呀..这样多好的:
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
int a,b,c,d,temp;
clrscr();
printf("Enter four numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b)
{temp=a;a=b;b=temp;}
if(a>c)
{temp=a;a=c;c=temp;}
if(a>d)
{temp=a;a=d;d=temp;}
if(b>c)
{temp=b;b=c;c=temp;}
if(b>d)
{temp=b;b=d;d=temp;}
if(c>d)
{temp=c;c=d;d=temp;}
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
getch();
}

2007-04-30 11:23
只做菜鸟
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-3-21
得分:0 
不用数组来做可不可以啊?
我觉得不用数组好象还简单一些
2007-04-30 13:06
洛川
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-4-28
得分:0 
回复:(lico)回复:(liuminghui)冒泡排序的思想:...

int main(void)
{
int a[4],i,j,p;
printf("please input 4 number:\n");
for (i=0;i<=3;i++){
scanf("%d",&a[i]);}
for(i=0;i<4;i++){
for (j=i+1;j<4;j++){
if (a[i]>a[j]){ /** if语句缺少大括号 **/
p=a[i];
a[i]=a[j];
a[j]=p;}
}
printf("%d\n",a[i]);
}

getch();
return 0;
}


2007-04-30 15:13
lico
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-1-15
得分:0 
回复:(洛川)回复:(lico)回复:(liuminghui)冒...
原来这样啊

谢谢
2007-04-30 18:38
雾雨
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-4-29
得分:0 


int mix(int x, int y,int z,int w){
int t;
if(x>y) {t=x;x=y;y=t;}
if(x>z) {t=z;x=z;z=t;}
if(x>w) {t=x;x=w;w=t;}
if(y>z) {t=y;y=z;z=t;}
if(y>w) {t=y;y=w;w=t;}
if(z>w) {t=z;z=w;w=t;}
printf("%d %d %d %d",x,y,z,w); }

int main(){
int a,b,c,d;
printf("shu ru si ge shu: ");
scanf("%d%d%d%d",&a,&b,&c,&d);
mix(a,b,c,d);

getch()


}

2007-04-30 21:26
chenxinfu
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-4-14
得分:0 
main()
{
int i,j,k,t,a[4];
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
{
k=i;
for(j=i+1;j<4;j++)
if(a[i]<a[j])
k=j;
if(k!=i)
{ t=a[i],a[i]=a[k],a[k]=t;}
}
for(i=0;i<4;i++)
printf("%d ",a[i]);
}
这是我帮你改的,自己运行一下就可以啦

2007-05-01 14:14



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




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

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