写两个最基本的比较常用的C排序的例子和大家共享下!
#include <stdio.h>
int main()
{
int a[11]; /* 为了符合习惯, 第0号元素不用 */
int i, j, cup;
printf("Input 10 numbers:\n");
int main()
{
int a[11]; /* 为了符合习惯, 第0号元素不用 */
int i, j, cup;
printf("Input 10 numbers:\n");
for(i = 1; i < 11; i++)
scanf("%d", &a[i]);
for(i = 1; i <= 9; i++) /* 趟数 */
for(j = 1; j <= 10 - i; j++) /* 每趟要比较数 */
if(a[j] > a[j+1]) /* 前面数大于后面数刚对调 */
{
cup = a[j];
a[j] = a[j+1];
a[j+1] = cup;
}
scanf("%d", &a[i]);
for(i = 1; i <= 9; i++) /* 趟数 */
for(j = 1; j <= 10 - i; j++) /* 每趟要比较数 */
if(a[j] > a[j+1]) /* 前面数大于后面数刚对调 */
{
cup = a[j];
a[j] = a[j+1];
a[j+1] = cup;
}
printf("The sorted numbers:\n");
for(i = 1; i <11; i++)
printf("%d ", a[i]);
return 0;
}
for(i = 1; i <11; i++)
printf("%d ", a[i]);
return 0;
}
#include<stdio.h>
int main(void)
{
int a[10],i,j,k,x;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<10;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(a[j]<a[k]) k=j;
if(i!=k)
{x=a[i];a[i]=a[k];a[k]=x;}
}
printf("The sorted numbers:\n");
for(i=0;i<10;i++)
printf("%-5d",a[i]);
getchar();getchar();
return 0;
}
int main(void)
{
int a[10],i,j,k,x;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<10;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(a[j]<a[k]) k=j;
if(i!=k)
{x=a[i];a[i]=a[k];a[k]=x;}
}
printf("The sorted numbers:\n");
for(i=0;i<10;i++)
printf("%-5d",a[i]);
getchar();getchar();
return 0;
}
转载于:https://blog.51cto.com/lovetiantian/428603