由于c语言中的数组的大小是固定的,因此在使用数组对数字进行排序时候需要提前在代码中定义数组的大小,每次对不同数目的数字进行排序都要修改代码,这大大地增加了执行的复杂程度,因此,我利用指针,在对n个数字进行排序时,提前输入将要进行排序的数的个数,来实现对n个数字的排序。
所使用的编译器为vs2022
代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40#include<stdio.h> #include<stdlib.h> int main(void) { int i=0; int* arr;//定义一个指针 int j, k, z; printf("请输入你输入数字的个数:"); scanf_s("%d", &i);//输入将要进行排序的数字的个数; arr = (int*)calloc(i, sizeof(int));//分配空间; printf("请输入要进行排序的数字"); for (j = 0; j < i; j++) { scanf_s("%d", &arr[j]); } printf("您输入的数字排序前为:"); for (j = 0; j < i; j++)//通过循环输出排序前输入的数字 { printf("%d ", arr[j]); } printf("n"); for (j = 0; j < i; j++)//通过循环进行排序 { for (k = j + 1; k < i; k++) { if (arr[j] > arr[k]) { z = arr[j]; arr[j] = arr[k]; arr[k] = z; } } } printf("排序后的结果为:"); for (j = 0; j < i; j++)//通过循环输出排序后的数字; { printf(" %d", arr[j]); } return 0; }
最后
以上就是悲凉山水最近收集整理的关于通过指针实现动态数组对n个数字的排序。的全部内容,更多相关通过指针实现动态数组对n个数字内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复