我没考虑什么冒泡法
我就是想知道,我那么做为什么不对
我自己一直没想明白
[此贴子已经被作者于2007-4-28 12:35:37编辑过]
我没考虑什么冒泡法
我就是想知道,我那么做为什么不对
我自己一直没想明白
[此贴子已经被作者于2007-4-28 12:35:37编辑过]
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;
}
其实是输出语句放的位置问题与多少趟和多少次无关
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;
}
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()
}