重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:
创新互联建站服务项目包括佛坪网站建设、佛坪网站制作、佛坪网页制作以及佛坪网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,佛坪网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到佛坪省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
2、此处用到快速排序思想,通过一趟排序将要排序的数据分割成独立的两部分,即这里用i和j两个变量分割数据,然后一部分的所有数据都比另外一部分的所有数据都要小,接着对这两部分数据分别进行比较排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列:
3、接着编写主函数,主函数中定义一个数组,然后用scanf接受数组,用户输入10个数以后,会将数存在数组array中,然后调用上面处理排序的函数,函数的输入就是刚才输入的数,最后在把排序的结果输出即可:
4、最后编译运行,输入10个数,最后控制台输出了排序的结果,证明程序的逻辑是没有问题的。以上就是C语言输入10个数排序的演示:
#include stdio.h
void func(int *a)
{
int i,j,temp;
for(j=0;j=7;j++)
{
for (i=0;i7-j;i++)
if (a[i]a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
int main()
{
int a[8]={8,7,6,5,4,3,2,1};
func(a);
for(int i=0;i8;i++)
{
printf("%d ",a[i]);
}
return 0;
}
func就是功能函数实现数组a[8]的排序。
#includestdio.h
void descend(int number[10]){
int temp,i,j;
for(i=0;i10;i++){
for(j=i;j10;j++){
if(number[i]number[j]) continue;
else{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
}
for(i=0;i10;i++){
printf("%d ",number[i]);
}
}
void ascend(int number[]){
int temp,i,j;
for(i=0;i10;i++){
for(j=i;j10;j++){
if(number[i]number[j]) continue;
else{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
}
for(i=0;i10;i++){
printf("%d ",number[i]);
}
}
int main()
{
int number[10];
int i;
for(i=0;i10;i++){
scanf("%d",number[i]);
}
printf("降序:\n");
descend(number);
printf("\n升序:\n");
ascend(number);
return 0;
}
希望对你有帮助
#includestdio.h
void sort(float *a, int n)
{
int i,j,tmp;
for(i=0; in-1; i++)
for(j=0; jn-i-1; j++)
if(a[j]a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
void main()
{
float a[5];
int i;
printf("请输入五个数(逗号隔开):");
scanf("%f,%f,%f,%f,%f",a[0],a[1],a[2],a[3],a[4]);
sort(a,5);
printf("排序后为:");
for(i=0; i5; i++)
printf("%.2f ",a[i]);
printf("\n");
}
或者三个数的。
void sort(int *a, int *b, int *c)
{
int tmp;
if(*a*b){
tmp = *b;
*b = *a;
*a = tmp;
}
if(*a*c){
tmp = *c;
*c = *a;
*a = tmp;
}
if(*b*c){
tmp = *c;
*c = *b;
*b = tmp;
}
return;
}
扩展资料:
C语言中没有预置的sort函数。如果在C语言中,遇到有调用sort函数,就是自定义的一个函数,功能一般用于排序。
一、可以编写自己的sort函数。
如下函数为将整型数组从小到大排序。void sort(int *a, int l)//a为数组地址,l为数组长度。
{
int i, j;
int v; //排序主体
for(i = 0; i l - 1; i ++)
for(j = i+1; j l; j ++)
{
if(a[i] a[j])//如前面的比后面的大,则交换。
{
v = a[i];
a[i] = a[j];
a[j] = v;
}
}
}
对于这样的自定义sort函数,可以按照定义的规范来调用。
二、C语言有自有的qsort函数。
功 能: 使用快速排序例程进行排序。头文件:stdlib.h
原型:
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
参数:
1、待排序数组首地址。
2、数组中待排序元素数量。
3、各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序,这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。