c语言随机输入10个整数后怎么排序
用C语言怎么实现输入任意个数的整数并排序?
用C语言怎么实现输入任意个数的整数并排序?
楼主的思路是对的。不能直接对数组用动态定义,但是可以对指针使用。所以动态定义一个指针,把它当成数组用。
我把你的程序做了些简单的修改,运行成功。源程序如下:
#includestdio.h#(){float*a;inti,j,length;printf(请输入要排序数字的个数:
)
;scanf(d,length);a(float*
)malloc(length*sizeof(float))
;printf(请输入d个数(数字之间用空格或回车隔开):
,length)
;for(i0;ilength;i ){scanf(f,a[i]);}for(i0;ilength-1;i )for(j0;jlength-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个数从小到大排列的顺序是:
,length)
;for(i0;ilength;i )printf(-7.2f
,a[i]);}
c语言任意输入10个数,先将其按由大到小的顺序排列?
对于少数的数字的排列,可以通过简单的if嵌套语句便可将所有情况列举出来;但是一旦要比较的数字较多,这种方法便缺少了可执行性;因此,我们可以采用数组的思想来进行编程;此处以:将10个数按从小到大排列输出 举例:#include
运用一维数组,输入10个整数,并由小到大排序并输出?
功能:实现输入数组,自动排序,并从小到大排序输出。 原理:冒泡排序 代码: public static void bubbleSort(int[] arr) { for (int i 0; i arr.length - 1; i ) { boolean flag true;//设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已然完成。 for (int j 0; j arr.length - 1 - i; j ) { if (arr[j] arr[j 1]) { swap(arr,j,j 1); flag false; } } if (flag) { break; } } } main(){ int[] arr{3,2,4,1,5,6,33,7,8,9}; bubbleSort(arr); }