问答详情
源自:6-5 数组的应用(一)

大神帮忙看看我这代码哪里有问题。急5555555

 #include<stdio.h>
int main()
{
      int a[]={1,5,2,6,3,7,9,8,0};
      int i,j,temp;
      for(i=7;i>=0;i--)
      {
              for(j=0;j<=i;j++)
              {
                    if(a[j]>a[j+1])
                    {
                            temp=a[j+1];
                            a[j]=temp;
                            a[j+1]=a[j];
                     }
       }
}
for(i=0;i<10;i++)
{
    if(i!=9)
        printf("%d,",a[i]);
    else
        printf("%d",a[i]);
}
return 0;
}  


提问者:慕斯7407225 2016-12-13 22:36

个回答

  • 学之舟_36820
    2016-12-18 00:13:18
    已采纳

    你的输出结果是:

    0,0,0,0,0,0,0,0,0,4199432

    有两个地方错误:

     #include<stdio.h>
    int main()
    {
    	int a[]={1,5,2,6,3,7,9,8,0};
    	int i,j,temp;
    	for(i=7;i>=0;i--)
    	{
    	  for(j=0;j<=i;j++)
    	  {
    	    if(a[j]>a[j+1])
    	    {	
    	    	// 替换错误 
    	        // temp=a[j+1];
    	        // a[j]=temp;
    	        // a[j+1]=a[j];
    	        temp = a[j];
    	        a[j] = a[j+1];
    	        a[j+1] = temp;
    	    }
    	  }
    	}
    	
    	// 长度错误 
    	// for(i=0;i<10;i++)
    	for(i=0;i<9;i++)
    	{
    	    if(i!=9)
    	        printf("%d, ",a[i]);
    	    else
    	        printf("%d",a[i]);
    	}
    	
    	return 0;
    }


  • 慕斯7407225
    2016-12-13 22:39:36

    不好意思,下面的   shuzu  是  a 刚刚写错了,拜托你们了,帮忙看一下