2024-01-01 03:39来源:m.sf1369.com作者:宇宇
//冒泡排序法
#include #include main() { int i,j,temp; int a[10]; for(i=0;i<10;i++) scanf (%d,,&a[i]); for(j=0;j<=9;j++) { for (i=0;i<10-j;i++) if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=0;i<10;i++) printf(%5d,,a[i] ); printf(\n); system(pause); return 0; }
#includevoid quickSort(int *p,int head,int tail) { int low=head,high=tail; int s=p[head]; if(head>=tail)return; while(low while(lows)high--; if(low while(low<=s)low++; if(low }p[low]=s; quickSort(p,head,low-1);quickSort(p,low+1,tail); }void main() { int i=0; int array[10]={3,7,2,8,6,8,4,3,2,9}; quickSort(array,0,9); for(i=0; i<10; i++) { printf(%d ,array[i]); } printf(\n); }
c语言中排序法有选择法和冒泡法是最常见的。
1冒泡法对10个数排序
#include<stdio.h>
void main ()
{ int a[10];
int i,j,t;
printf(please input 10 numbers:\n);
for(i=0;i<10;i++)
scanf(%d,&a[i]);
printf(\n);
for(j=0;j<9;j++) //进行9次循环,实现9次比较
for(i=0;i<9-j;j++) //在每一次比较中在进行9-j次比较
if(a[i]>a[i+1]) //相邻两数比较大的下沉即交换
{t=a[i+1];
a[i+1]=a[i];
a[i]=t;
}
printf(the sorted numbers :\n);
for(i=0;i<10;i++)
printf(%d,a[i]);
printf(\n);
}
不管有多少数只要改变一下都可以实现功能。定义一个大的数组,用多次循环就可以实现。
2选择法对10个数排序
此法没有冒泡法方便不在叙述 。
int是integer的缩写,定义一个整型的变量 int a; double b; a=(int)b; 如果这样就是强制转换类型 ,把其它类型的值强制转换为整型,后面的小数点位就没了