输出数组奇数位数字 并且排序 有小到大 看那里出错?

来源:百度知道 编辑:UC知道 时间:2024/09/22 22:32:04
{
int a[10]={33,54,69,5,15,5698,512,6,329,4},b,c,d,e;
for(e=1;e<=5;e++)
{
for(b=0;b<5;b+=2)
if(a[b]>a[b+2])
{c=a[b];a[b]=a[b+2];a[b+2]=c;}
}
for(d=0;d<=9;d+=2)
printf("%d ",a[d]);

}
问题自己解决了 不好意思啊

int a[10]={33,54,69,5,15,5698,512,6,329,4},b,c,d,e;
for(e=1;e<=5;e++)
{
for(b=0;b<5;b+=2) (b<5有问题吧)
if(a[b]>a[b+2])
{c=a[b];a[b]=a[b+2];a[b+2]=c;}
}
for(d=0;d<=9;d+=2)
printf("%d ",a[d]);

应该改为b<9

算法没有问题:

//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
int a[10]={33,54,69,5,15,5698,512,6,329,4},b,c,d,e;
for(e=1;e<=5;e++)
{
for(b=0;b<5;b+=2)
if(a[b]>a[b+2])
{c=a[b];a[b]=a[b+2];a[b+2]=c;}
}
for(d=0;d<=9;d+=2)
printf("%d ",a[d]);
return 0;
}
//---------------------------------------------------------------------------

mark