#include<stdio.h>
int main(int argc, char **argv)
{
int a[10];
int i,j,t;
printf("input 10 number :\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted numbers :\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf("\n");
}
int main(int argc, char **argv)
{
int a[10];
int i,j,t;
printf("input 10 number :\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted numbers :\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf("\n");
}
分析:如果有n个数,则要进行n-1趟比较。在第一趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。
问:这个只能输入10 个数后才能排序,怎么加一个人条件使想输几个比较就输几个?