c语言任意输入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]); }}附:程序开头采用了定义一个宏常量的方法,可以通过改变该常量来对程序进行整体的改变;增加了程序的灵活性,方便对源程序进行修改;如果要按从大到小的排列方式进行排列,仅仅需要更改程序中的一处,此处便不再详细说明,自己探讨^_^
我有四个数(如1,3,6,7)怎么用c语言编写:四个数所有排列组合
代码示例:
//有1、3、6、7个数字,能组成多少个互不相同且无重复数字的三位数?
//本练习不涉及报错处理机制!
#include<stdio.h>
int main() {
int i, j, k;
for (i = 1; i <= 4; i++) {
for (j = 1; j <= 4; j++) {
for (k = 1; k <= 4; k++) {
if ((i != j) && (j != k) && (i != k)) printf("%d%d%d\n",i,j,k);
}
}
}
return 0;
}
3个不同数字能组成多少组
三个不同数字能组成多少组 ,比如1.2.3可以组成1.3.2,还可以组成3.2.1,还可以组成2.3.1,还可以组成2.1.3,还可以组成3.1.2,还有好多类似的 数字,可以组成六组,每一组都可以组成两组, 三个数字它可以组成六组 ,所以说三个数字,每一个数字可以组成两组。
用C语言怎么实现输入任意个数的整数并排序
楼主的思路是对的。不能直接对数组用动态定义,但是可以对指针使用。所以动态定义一个指针,把它当成数组用。
我把你的程序做了些简单的修改,运行成功。源程序如下:
#include<stdio.h>#include<stdlib.h>main(){float*a;inti,j,length;printf("请输入要排序数字的个数:\n")
;scanf("%d",&length);a=(float*
)malloc(length*sizeof(float))
;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)
;for(i=0;i<length;i++)printf("%-7.2f\n",a[i]);}