Lemon_Chen 2015-08-19 04:41 采纳率: 100%
浏览 2336
已采纳

C语言最简单你的冒泡排序,数组输入输出就错了。。。。

#include
#include
#define arraysize 5 //5个数字
int main()
{
int i,a,num;
num=arraysize;
int array[arraysize];

memset(array,'\0',sizeof(int)*arraysize);
void BobbleSort(int array[],int n);
while(num--)
{
    scanf("%d",&a);
    array[i]=a;
}

 for(i=0;i<arraysize;i++)    //这个!!!for循环输出的数组为什么不是输入的数组值??? 
 {
    printf("%d ",array[i]);
 }

 BobbleSort(array,arraysize);
return 0;

}

void BobbleSort(int array[],int n)
{

int i,j,temp;

/*
for(i=0;i<arraysize;i++) //求数组长度
{
printf("!!!%d\n",*(array++));
if(array[i]!='\0')
{
n++;
}
else
break;

 }
 printf("--%d\n",n);

*/

for(i=n-1;i>0;i--) //冒泡排序 
{
    for(j=0;j<i;j++)
    {
        if(array[j+1]>array[j])
        {
            temp=array[j];
            array[j]=array[j+1];
            array[j+1]=temp;
         }
     }
 }
 for(i=0;i<n;i++)
 {
    printf("%d ",array[i]);
 }

}


  • 写回答

5条回答 默认 最新

  • Daicsdn 2015-08-19 04:46
    关注

    arrayp[i] = a; i值呢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?