请问一个c语言相关的问题,望高手指导下, 谢谢

2019-07-16 02:50发布

题目:完成五个整数的排序(由大到小)
#include<stdio.h>
void main()
{
int a[5];
int i,j,temp;
printf("input 5 numbers: ");
for(i=0;i<5;i++)
   scanf("%d",&a[i]);
printf(" ");
for(j=0;j<4;j++)           
  for(i=0;i<5-i;i++)     
   if(a[i]<a[i+1])      
   {
     temp=a[i];   
     a[i]=a[i+1];   
     a[i+1]=temp;
   }
    for(i=0;i<5;i++)
printf("%d,",a[i] );
printf(" ");
}

为什么输入的最后一位不能参与到前面的排序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
354604672
1楼-- · 2019-07-16 08:18
{:5:}{:5:}{:5:}{:5:}{:5:}
yatoo
2楼-- · 2019-07-16 10:55
 精彩回答 2  元偷偷看……
et猿人
3楼-- · 2019-07-16 11:43
这里是不是这样 for(j=0;j<4;j++)           
              for(i=0;i<5-j;i++)  // update..
et猿人
4楼-- · 2019-07-16 14:29
再试试 for(i=0;i<5;i++)
scanf("%d",&a);
printf(" ");
for(j=1;j<5;j++)           
  for(i=0;i<5-j;i++)   

   if(a<a[i+1])      
   {
     temp=a;   
    a=a[i+1];   
     a[i+1]=temp;
   }
    for(i=0;i<5;i++)
printf("%d,",a );
printf(" ");
yijin1989616
5楼-- · 2019-07-16 19:10
for(i=0;i<5-i;i++)
你i<5-i,才能比到i[2]和i[3],根本就没比到i[4],最后一个能参与比较吗?直接改成
for(i=0;i<4;i++) 试试

一周热门 更多>