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

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
    Daicsdn 2015-08-19 04:46
    已采纳

    arrayp[i] = a; i值呢

    点赞 评论
  • a1193561652
    纵横车 2015-08-19 04:50

    变量i没有赋初始值。

    点赞 评论
  • 91program
    91program 2015-08-19 04:53

    array[i]=a; i 没有初始化的数值
    另外,i 没有加1 ,每次 array[i]=a; 赋值都赋给同一个下标了

    点赞 评论
  • u014326381
    前端小白装大神 2015-08-19 05:17

    就是啊,while循环里i的值都没给啊

    点赞 评论
  • u012148410
    u012148410 2015-08-19 08:55

    i没有初始值啊,哥们

    点赞 评论

相关推荐