文章目录

  • 前言
  • 一、本文核心内容
  • 二、使用步骤
    • 注意事项
  • 总结

前言

今天上算法课时,老师要我们用递归进行数组的排序,题主C语言功底实在太弱,经过一番摸索,终于找到了如何动态开辟数组并scanf()输入数组后递归排序的方法。


以下是本篇文章正文内容,下面案例可供参考

一、本文核心内容

申请动态数组(仅供参考):(int*)malloc(sizeof(int) * len);
递归算法函数:
int fmax(int a[], int i) {
if (i == 1) return a[0];
if (i > 1) return max(fmax(a, i - 1), a[i - 1]);
}

二、使用步骤

代码如下(示例):

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>int max(int a, int b) {return a > b ? a : b;
}
int fmax(int a[], int i) {if (i == 1) return a[0];else    return max(fmax(a, i - 1), a[i - 1]);
}int main() {int len = 0;int* p = NULL;int i;printf("Please U Scanf The Length And Num Of The Array\n");scanf_s("%d", &len);p = (int*)malloc(sizeof(int) * len);for (i = 0; i <len; i++)scanf_s("%d", &p[i]);printf("%d\n", fmax(p,len));
}

注意事项

VS2019中不能直接使用scanf()函数,需加上#define _CRT_SECURE_NO_WARNINGS宏定义,也可转而用scanf_s()函数,使用scanf()等函数时,请格外注意空格的缩进。


总结

这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了动态开辟数组和展示递归排序数组的算法。第一次写博客,限于博主水平,纰漏之处在所难免,还请各位读者朋友雅正。

C语言scanf动态分配数组后用递归排序相关推荐

  1. c语言中数组部分输入赋值,c语言scanf对数组赋值

    c语言动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值 c语言数组动态赋值,<手把手教你学51单片机-C语言>之六 中断与数码管动态显示,c语言结构体数组赋值,c语言sca ...

  2. C语言中动态分配数组

    很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在发现这是一个相当不好的习惯,甚至可能导致编写的程序出现一些 ...

  3. c语言文本按行分配数组元素,【转】C语言中动态分配数组

    int main() { int i = 0; int *a; int N; printf("Input array length: "); scanf("%d" ...

  4. c语言如何将数组里的数排序输出,c程序输入10个数到一维数组中,按升序排序后输出。...

    匿名用户 1级 2010-01-16 回答 //演示输入N个数,并按大小顺序输出 #include #define N 10 float increase(float *array,unsigned ...

  5. C语言scanf输入数组数值

    for循环遍历之后一个一个写入, int a[n];     for(int i=0;i<n;i++)     {         scanf("%d",&a[i]) ...

  6. c语言数组从小到大冒泡排序,C语言冒泡排序将一个数组按照从小到大进行排序...

    例如 int a[10] = {0,5,2,3,6,9,8,7,4,1} 对其10个整数由小到大进行排序 思想: 实现一: #include int main() { int i = 0; int a ...

  7. ThinkPHP/---合并数组后按时间排序

    $arr = array_merge($data,$human);$ctime_str = array();foreach ($arr as $key => $v) { $arr[$key][' ...

  8. C语言学习之有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中

    有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中 #include <stdio.h> void main(){int a[11]={25,32,65,74,84,9 ...

  9. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc

    C语言中动态分配二维数组复习过程.doc C语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的.C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C ...

最新文章

  1. 27个人类基因被重新命名,只因Excel总把它们自动纠正成日期
  2. 深入理解分布式技术 - ServiceMesh 服务网格
  3. UNIX(多线程):19---Future 类型详解
  4. 浮栅场效应管 符号_MOS场效应管
  5. 你遇到过最有诗意的句子是什么?
  6. Git版本控制:Git远程仓库
  7. Mybatis 延迟加载策略
  8. java mysql 学生成绩管理系统_java简单学生成绩管理系统
  9. 【行业视角】是什么让元宇宙土地与房产变得有价值
  10. 两代荣耀Magic历史性同框,荣耀Magic 2如何践行科技理想主义?
  11. puzzle(0921)HueBots
  12. 纯HTML写国际象棋棋盘
  13. 通俗讲解MOSFET
  14. JDK9相比于JDK8,究竟变强了多少
  15. CCF 201712-4 行车路线
  16. 基于SSM的家教系统的设计与实现毕业设计-附源码221752
  17. pandas中的axis=0,axis=1具体含义(转)
  18. c++ 报错 exponent has no digits
  19. C语言中如何把位赋值给字节,优秀程序员必须知道的20个位运算技巧
  20. php中使用视频流的方式播放视频。

热门文章

  1. 独孤九剑【图像处理】
  2. ESP8266---透传
  3. mysql index_MySQL Index详解
  4. 微淼商学院php面试_分享下我在5,6月份求职的面经(php)
  5. 当年的病毒熊猫烧香,这节奏感
  6. BCryptPasswordEncoder 用户登录密码加密后对比错误处理
  7. 【转】蘑菇街面试经历(已拿到offer)
  8. 简单的android音乐播放器
  9. 测试大牛分享成长经历,一个好的软件测试工程师应该做到这些!
  10. 技术团队的聚散离合--案例故事,献给曾经的团队