关于 采用冒泡排序进行排序输出的代码

对数组arr[10]={34,56,7,-2,0,24,78,89,6,7}中的数字采用冒泡排序进行排序输出。
代码:
#include <stdio.h>
{
int a[10] = {34,56,7,-2,0,24,78,89,6,7};
for (i = 0; i < n - 1; i++) //比较n-1轮
{
for (j = 0; j < n - 1 - i; j++) //每轮比较n-1-i次,
{
if (a[j] < a[j + 1])
{
buf = a[j];
a[j] = a[j + 1];
a[j + 1] = buf;
}
}
}
}
运行不出来,帮解答!xiexie

代码修正如下

#include <stdio.h>
int main()
{
    int i,j,buf,a[10] = { 34,56,7,-2,0,24,78,89,6,7 };
    for (i = 0; i < 10 - 1; i++) //比较n-1轮
    {
        for (j = 0; j < 10 - 1 - i; j++) //每轮比较n-1-i次,
        {
            if (a[j] < a[j + 1])
            {
                buf = a[j];
                a[j] = a[j + 1];
                a[j + 1] = buf;
            }
        }
    }
    for (i = 0; i < 10; i++)
        printf("%d\t", a[i]);
    return 0;
}

img


①.n没有给初始值吧,10个元素的话,把n换成10;
②你这只冒泡排序了,没有对结果进行输出,写个for循环输出数组元素值呗。

你要定义一个主函数,i,j没有定义类型,最后要加上输出