问题描述
- C语言最简单你的冒泡排序,数组输入输出就错了。。。。
-
#include
#include
#define arraysize 5 //5个数字
int main()
{
int i,a,num;
num=arraysize;
int array[arraysize];memset(array,'',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("!!!%dn",*(array++));
if(array[i]!='')
{
n++;
}
else
break;} printf("--%dn",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]); }
}
解决方案
arrayp[i] = a; i值呢
解决方案二:
变量i没有赋初始值。
解决方案三:
array[i]=a; i 没有初始化的数值
另外,i 没有加1 ,每次 array[i]=a; 赋值都赋给同一个下标了
解决方案四:
就是啊,while循环里i的值都没给啊
解决方案五:
i没有初始值啊,哥们
时间: 2024-11-05 12:26:34