#include
#define TRUE 1
#define FALSE 0
void bubble(int a[],int length)
{
int i=1,j,temp;
int change;
do{
change=FALSE;
for(j=0;j
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
change=TRUE;
}
i+=i;
}while(i<length&&change==TRUE);
}
void main()
{
int i;
int a[10];
printf("please input 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",a[i]);
}
bubble(a,10);
for(i=0;i<10;i++)
printf("a[i]=%d\n",a[i]);
}
這個問題還是算我的吧,忘記了,我也是編譯通過就給你解答了,沒有運行,所以先說聲sorry。對應這個問題,這是一個scanf的問題,正確的語句是scanf(“%d”,&a[i]);少了一個&符號,它是一個取址符,意在將鍵盤讀取到的數據存放到所在地址的變量上。這次你在試一次。祝你成功