回 帖 发 新 帖 刷新版面

主题:新手C语言求助

小弟新学c语言,遇到一难题,小弟把代码献上,请高手指正。(VC++6.0环境)
题目是从键盘输入4个数,并按从小到大顺序输出。
# include <stdio.h>
void main ()
{
  int a,b,c,d,x;
  printf("请输入4个数:\n");
  scanf("%d%d%d%d",&a,&b,&c,&d);
  if(a>b)
  {x=a,a=b,b=x;}
  if(a>c)
  {x=a,a=c,c=x;}
  if(a>d)
  {x=a,a=d,d=x;}
  if(b>c
  {x=b,b=c,c=x;}
  if(b>d)
  {x=b,b=d,d=x;}
  if(c>d)
  {x=c,c=dd=x;}
  printf("%d%d%d%d",a,b,c,d);
}

回复列表 (共2个回复)

沙发

程序书写错误:
# include <stdio.h>
void main ()
{
  int a,b,c,d,x;
  printf("请输入4个数:\n");
  scanf("%d%d%d%d",&a,&b,&c,&d);
  if(a>b)
  {x=a;a=b;b=x;}
  if(a>c)
  {x=a;a=c;c=x;}
  if(a>d)
  {x=a;a=d;d=x;}
  if(b>c)
  {x=b;b=c;c=x;}
  if(b>d)
  {x=b;b=d;d=x;}
  if(c>d)
  {x=c;c=d;d=x;}
  printf("%d%d%d%d",a,b,c,d);
}

板凳


你的方法可以
还可以用双循环,数组
main()
{ int a[4],i,j,t;
  for(i=0;i<4;i++)
    scanf("%d",&a[i]);
  for(i=1;i<4;i++)
   { for(j=0;j<4-i;j++)
      { if(a[j]>a[j+1])
     { t=a[j];
       a[j]=a[j+1];
       a[j+1]=t;
     }
      }
   }
  for(i=0;i<4;i++)
    printf("%d\t",a[i]);
 }

我来回复

您尚未登录,请登录后再回复。点此登录或注册