c语言排序库,c语言排序库函数

kodinid 28 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言排序库的问题,于是小编就整理了3个相关介绍c语言排序库的解答,让我们一起看看吧。

  1. 用C语言怎么实现输入任意个数的整数并排序?
  2. C语言将数组a中的10个整数降序排列并输出,如何编程?
  3. c语言作业:输入一个正整数求出它是几位数;输出原数和位数,对每一位进行排序由小到大输?

用C语言怎么实现输入任意个数整数并排序?

楼主的思路是对的。不能直接对数组动态定义,但是可以指针使用。所以动态定义一个指针,把它当成数组用。

我把你的程序做了些简单修改运行成功。源程序如下:

c语言排序库,c语言排序库函数-第1张图片-安济编程网
图片来源网络,侵删)

#include<stdio.h>#include<stdlib.h>main(){float*a;inti,j,length;printf(&#34;请输入要排序数字的个数:\n")

;scanf("%d",&length);a=(float*

)malloc(length*sizeof(float))

c语言排序库,c语言排序库函数-第2张图片-安济编程网
(图片来源网络,侵删)

;printf("请输入%d个数(数字之间用空格回车隔开):\n",length)

;for(i=0;i<length;i++){scanf("%f",&a[i]);}for(i=0;i<length-1;i++)for(j=0;j<length-1-i;j++)if(a[j]>a[j+1]){a[j]=a[j]+a[j+1];a[j+1]=a[j]-a[j+1];a[j]=a[j]-a[j+1];

}printf("这%d个数从小到大排列顺序是:\n",length)

c语言排序库,c语言排序库函数-第3张图片-安济编程网
(图片来源网络,侵删)

;for(i=0;i<length;i++)printf("%-7.2f\n",a[i]);}

C语言将数组a中的10个整数降序排列并输出如何编程

对于少数的数字的排列,可以通过简单的if嵌套语句便可将所有情况列举出来;但是一旦要比较的数字较多,这种方法便缺少了可执行性;因此,我们可以***用数组的思想来进行编程;此处以:将10个数按从小到大排列输出 举例:#include"stdio.h"#define N 10int main (){ int a[N]; int i,j,t; printf("Please input %d numbers:\n",N); for(i<0;i<N;i++) { scanf("%d",&a[i]); } for(i=1;i<=N-1;i++) { for(j=0;j<N-i;j++) { if(a[j]>a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; } } } printf("The resortrd numbers is :\n"); for(i=0;i<N;i++) { printf("%-4d",a[i]); }}附:程序开头***用了定义一个宏常量的方法,可以通过改变该常量来对程序进行整体的改变;增加了程序的灵活性,方便对源程序进行修改;如果要按从大到小的排列方式进行排列,仅仅需要更改程序中的一处,此处便不再详细说明,自己探讨^_^

c语言作业:输入一个正整数求出它是几位数;输出原数和位数,对每一位进行排序由小到大输?

#include <stdio.h>int weishu(long n,int a[]){int i=0; while(n) { a[i++]=n%10; n/=10; } return i;}void main (void){ long n; int k,i,j,t,a[20]; scanf("%ld",&n); printf("原数:%ld\n",n); k=weishu(n,a); printf("位数:%d\n",k); for(i=0;i<k-1;i++) for(j=0;j<k-1-i;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("从小到大:");for(i=0;i<k;i++) printf("%d",a[i]);printf("\n从大到小:");for(i=k-1;i>=0;i--) printf("%d",a[i]);printf("\n");getch();}

到此,以上就是小编对于c语言排序库的问题就介绍到这了,希望介绍关于c语言排序库的3点解答对大家有用。

标签: printf 语言 排序