C和指针之动态内存分配之输入很多整数进行排序

举报
chenyu 发表于 2021/07/27 00:54:28 2021/07/27
【摘要】 1、问题 读取一列整数,然后按升序排列它们,最后打印列表     2、代码实现 #include <stdio.h>#include <stdlib.h>/**此函数根据你给的比较条件进行快速排序,通过指针移动实现排序void qsort ( void * base, size_t num, size_t...

1、问题

读取一列整数,然后按升序排列它们,最后打印列表

 

 


2、代码实现


   
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /**
  4. 此函数根据你给的比较条件进行快速排序,通过指针移动实现排序
  5. void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );
  6. **/
  7. int compare(void const *a, void const *b)
  8. {
  9. int const *pa = a;
  10. int const *pb = b;
  11. return *pa > *pb ? 1 : *pa < *pb ? -1 : 0;
  12. }
  13. int main()
  14. {
  15. int *array, values, i;
  16. //输入多少个数据
  17. puts("输入整数个数据");
  18. if (scanf("%d", &values) != 1 || values <= 0)
  19. {
  20. puts("非法的数据");
  21. goto error;
  22. }
  23. //分配内存
  24. array = malloc(values * sizeof(int));
  25. if (array == NULL)
  26. {
  27. goto error;
  28. }
  29. //读取数据
  30. for (i = 0; i < values; ++i)
  31. {
  32. printf("?");
  33. if (scanf("%d", array 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/78660934

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。