/*对键盘输入的十个数从小到大排序*/
/*冒泡排序(buddle sort)*/
main()
{
int a[11];
int i,j,t;
clrscr();
printf("input 10 numbers :\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=9;j++)
for(i=1;i<=10-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=1;i<11;i++)
printf("%d ",a[i]);
getch();
}
/*选择排序(select sort)*/
main()
{
int i,j,a[10],t;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<=8;i++)
for(j=i;j<=8;j++)
{t=a[i];
if(a[j]>a[j+1])
{a[i]=a[j+1];
a[j+1]=t;}
}
for(i=0;i<=9;i++)
printf("%d ",a[i]);
}
/*插入法排序*/
#define N 10
#include"stdio.h"
main()
{ int i,j,k,t,a[N];
clrscr();
printf("Please input %d numbers:\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=1;i<N;i++)
{
for(j=0;j<i;j++)
{if(a[j]>a[i])
{t=a[i];
for(k=i;k>=j;k--)
a[k]=a[k-1];
a[j]=t;
}
}
}
printf("small to big order:\n");
for(i=0;i<N;i++)
printf("%-2d",a[i]);
printf("\n");
getch();
}
|
|
上面是一个对任意输入数的排序.
write by elva6401
主要思想也是冒泡排序,但用链表.
没有简洁一点的程序吗 ?也没有具体的要求你怎么编得怎么复杂啊!,不就是几种排序嘛?
|
|
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |