冒泡排列哪里错了。
#define N 10void main()
{int a[N+1];int i,j,t;
printf("please inpute 10 number:\n");
for(i=1;i<=N;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=N-1;j++)
for(i=1;i<N-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the scorted numbers:\n");
for(i=1;i<=N;i++)
printf("%d ",a[i]);
getch();
}
如果最后一个比最后第2个小,最后一个就排不出来。
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define MAX 10
void main(void)
{
int Num[MAX];
for(int i=0;i<MAX;i++)
{
printf("请输入第%d个数:",i);
scanf("%d",&Num[i]);
}
for(int i=0;i<MAX-1;i++)
{
for(int j=MAX-1;j>i;j--)
{
if( Num[j] > Num[j-1] )
{
int temp = Num[j];
Num[j] = Num[j-1];
Num[j-1] = temp;
}
}
}
printf("第一次排序的结果为:\n");
for(int i=0;i<MAX;i++)
{
printf("%3d ",Num[i]);
}
printf("\n");
}
----------------解决方案--------------------------------------------------------
。。。。。。。。。。。。
----------------解决方案--------------------------------------------------------
你的根本不能运行。
----------------解决方案--------------------------------------------------------
开始执行排序的循环语句有问题吧,你的是for(j=1;j<=N-1;j++) for(i=1;i<N-j;i++)
其中下面的一个for语句中,你的i 是i<N-j,这样会丢了最后的一个吧,因为当你的j=1时,i<9,而你的i是从1开始的,这样的话,只有8个数吧,,,,应该写为i<=N-j吧,,,
现在有事,所以我也只是看看而已,感觉上是这样错了,你再自己看看吧,试一试
----------------解决方案--------------------------------------------------------
#define N 10
void main()
{int a[N+1];int i,j,t;
printf("please inpute 10 number:\n");
for(i=1;i<=N;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=N;j++)
for(i=1;i<=N-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the scorted numbers:\n");
for(i=1;i<=N;i++)
printf("%d",a[i]);
getch();
}
这样就可以了
----------------解决方案--------------------------------------------------------
5,6楼的说的对,支持!
----------------解决方案--------------------------------------------------------
我用TC,还有错误啊{t=a[i];a[i]=a[i+1];a[i+1]=t;}这段有问题
----------------解决方案--------------------------------------------------------
{t=a[i];a[i]=a[i+1];a[i+1]=t;}这段没有问题
问题出在for(i=1;i<N-j;i++)
----------------解决方案--------------------------------------------------------
我运行没问题 用TC2
----------------解决方案--------------------------------------------------------