c语言冒泡排序问题。

2025-03-24 11:17:13
推荐回答(4个)
回答1:

问题很简单的
问题就出在这个语句,你在这个for后面加了一个分号,当然编译肯定不会出错,而程序的效果那就。。。嘿嘿
for(i=n-1;i>0;i--); //冒泡排序开始

回答2:

#include
#define n 8
void main()
{
int a[n];
int i,j,temp;
printf("please input integer:"); //输入8个随机数字
for(i=0;iscanf("%d",&a[i]);
for(i=n-1;i>0;i--) //冒泡排序开始
for(j=0;jif(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}

for(i=0;iprintf("%5d",a[i]);

printf("\n");

}

很低级的错误哦!!
你的两上for循环处多加了";"号.......

下面是我自己写的一个,书写比较规范的
#include
#define n 8
void main()
{
int a[n];
int i=0,j=0,temp=0;
printf("please input integer:"); //输入8个随机数字
for(i=0;i {
scanf("%d",&a[i]);
}

for(i=0;i {
for(j=0;j {
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i printf("%5d",a[i]);

printf("\n");

}

回答3:

#include
#define n 8
void main()
{
int a[n];
int i,j,temp;
printf("please input integer:"); //输入8个随机数字
for(i=0;iscanf("%d",&a[i]);
for(i=n-1;i>0;i--)//冒泡排序开始
for(j=0;jif(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}

for(i=0;iprintf("%5d",a[i]);

printf("\n");}

回答4:

哈哈 条件语句之后是不用分号的! for() 或是if()等后是不用分号的,去掉即可!