当前位置: 代码迷 >> C语言 >> 还是求助
  详细解决方案

还是求助

热度:247   发布时间:2005-09-13 16:55:00.0
还是求助
#include<stdio.h>
#include<string.h>
void main()
{
  int a[5],b,c,d,i,j,k;
  printf("please input 10 numebers\n");
  for(k=0;k<5;k++)
  {scanf("%d",&a[k]);
  }
  for(i=0;i<5;i++)
  {
   c=a[i];
   for(j=i+1;j<5;j++)
{
  
    if(c<a[j])
   b=a[i];
   a[i]=a[j];
   a[j]=b;
}
printf("%d ",a[i]);
  }
}
刚写的,想实现输入5个数,然后按大小顺序排列,可是结果不是这样的,实在看不出哪里写的有问题了.随便指点指点吧~~阿弥陀佛
----------------解决方案--------------------------------------------------------

#include<stdio.h> #include<string.h> void main() { int a[5],b,c,d,i,j,k; printf("please input 10 numebers\n"); for(k=0;k<5;k++) {scanf("%d",&a[k]); } for(i=0;i<5;i++) { c=a[i]; for(j=i+1;j<5;j++) { if(c<a[j]) { /*你忘了加括号了*/ c=a[i]; a[i]=a[j]; a[j]=c; } }

} for(i=0;i<5;i++) printf("%d ",a[i]); }


----------------解决方案--------------------------------------------------------
养成良好的 对齐格式, 这种错误是很容易看出来的。
----------------解决方案--------------------------------------------------------
不对啊,我刚才运行了一下,输入5个数字还是不按照从大到小的顺序排列的
----------------解决方案--------------------------------------------------------
c=a[i];           
   a[i]=a[j];
   a[j]=c;
这里错了,应该是
temp=a[i];
a[i]=a[j];
a[j]=temp;
----------------解决方案--------------------------------------------------------
#include&lt;stdio.h&gt;
#include&lt;string.h&gt;
void main()
{
  int a[5],b,c,i,j,k;
  printf("please input 10 numebers\n");
  for(k=0;k&lt;5;k++)scanf("%d",&amp;a[k]);
  for(i=0;i&lt;5;i++)
  {
   c=a[i];
   for(j=i+1;j&lt;5;j++)
   {
    if(c&lt;a[j]){      
     b=a[i];
     a[i]=a[j];
     a[j]=b;
    }
    c=a[i];         //要更新c
   }
   printf("%d ",a[i]);
  }
}
----------------解决方案--------------------------------------------------------
不用更新吧!
  for(i=0;i&lt;5;i++)
  {
   c=a[i];
这里就更新了
----------------解决方案--------------------------------------------------------
哈哈,终于搞定了,谢谢谢谢各位~~好开心
----------------解决方案--------------------------------------------------------
拜托,为什么要input 10 numbers,另外,他好象没有漏括号啊,我觉得是if(c&lt;a[j])有问题,因为虽然a[i]和a[j]互换了,但是c好象没有换,还是原来那个a[i]的值,所以没有把最大数放到第一个,

拙见,高手评判,偶虚心学习
----------------解决方案--------------------------------------------------------
  相关解决方案