c语言写的一个冒泡儿,不知道为什么得不到排序的效果,求大神!
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int array_sort[10];
int i,j,t;
printf("输入十个数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&array_sort[i]);
}
printf("\n");
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(array_sort[i]>array_sort[i+1])
{
t=array_sort[i];
array_sort[i]=array_sort[i+1];
array_sort[i+1]=t;
}
}
}
printf("输出:\n");
for(i=0;i<10;i++)
{
printf("%5d\n",array_sort[i]);
}
system("PAUSE");
return 0;
}
[解决办法]
if(array_sort[j]>array_sort[j+1])//是j不是i { t=array_sort[j]; array_sort[j]=array_sort[j+1]; array_sort[j+1]=t; }
[解决办法]
int array_sort[10]; int i,j,t; printf("输入十个数:\n"); for(i=0;i<10;i++) { scanf("%d",&array_sort[i]); } printf("\n"); for(i=0;i<9;i++) { for(j=0;j<9-i;j++) { if(array_sort[j]>array_sort[j+1])//此处是j相比 { t=array_sort[j];//i改为j array_sort[j]=array_sort[j+1];//i改为j array_sort[j+1]=t;//i改为j } } } printf("输出:\n"); for(i=0;i<10;i++) { printf("%5d\n",array_sort[i]); }