C语言运算

2025-06-26 01:01:54
推荐回答(4个)
回答1:

你的程序有几万个错误(夸大了,不过也够基本的错)
1.不能这样使用数组a[i],
修改为:int a[5]={2,6,5,9,4};
2.把你两个for循环中的“,”号改为“;”号
3.你的程序的本意应该是做冒泡算法,不过你的算法不对,我这里也不帮你改了,你自己想想,想不通再问;
4.我把完整的程序给你写出来了,调试通过
#include "stdio.h"
int main()
{
int i,j,k;
int a[5]={2,6,5,9,4};

for(i=0;i<3;i++)
{
for(j=i+1;j<4;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for (i = 0; i<5; i++)
{
printf("%d\n",a[i]);
}

return 0;
}
输出如下:
2
5
6
9
4
请按任意键继续. . .

回答2:

回楼上:

您的(或者说是楼主的)冒泡排序是针对数组的前四项的。
全部排一遍的话应该是:

for(i=0;i<4;i++)
{
for(j=i+1;j<5;j++)
…………
…………
…………

回答3:

你程序编译肯定过不了,其一,你的a未定义,其二,数组长度必须为常量。

回答4:

把问题订正过来的话,答案是:2 4 5 6 9