C语言scanf动态分配数组后用递归排序
文章目录
- 前言
- 一、本文核心内容
- 二、使用步骤
- 注意事项
- 总结
前言
今天上算法课时,老师要我们用递归进行数组的排序,题主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动态分配数组后用递归排序相关推荐
- c语言中数组部分输入赋值,c语言scanf对数组赋值
c语言动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值 c语言数组动态赋值,<手把手教你学51单片机-C语言>之六 中断与数码管动态显示,c语言结构体数组赋值,c语言sca ...
- C语言中动态分配数组
很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在发现这是一个相当不好的习惯,甚至可能导致编写的程序出现一些 ...
- c语言文本按行分配数组元素,【转】C语言中动态分配数组
int main() { int i = 0; int *a; int N; printf("Input array length: "); scanf("%d" ...
- c语言如何将数组里的数排序输出,c程序输入10个数到一维数组中,按升序排序后输出。...
匿名用户 1级 2010-01-16 回答 //演示输入N个数,并按大小顺序输出 #include #define N 10 float increase(float *array,unsigned ...
- C语言scanf输入数组数值
for循环遍历之后一个一个写入, int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]) ...
- c语言数组从小到大冒泡排序,C语言冒泡排序将一个数组按照从小到大进行排序...
例如 int a[10] = {0,5,2,3,6,9,8,7,4,1} 对其10个整数由小到大进行排序 思想: 实现一: #include int main() { int i = 0; int a ...
- ThinkPHP/---合并数组后按时间排序
$arr = array_merge($data,$human);$ctime_str = array();foreach ($arr as $key => $v) { $arr[$key][' ...
- C语言学习之有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中 #include <stdio.h> void main(){int a[11]={25,32,65,74,84,9 ...
- c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc
C语言中动态分配二维数组复习过程.doc C语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的.C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C ...
最新文章
- 27个人类基因被重新命名,只因Excel总把它们自动纠正成日期
- 深入理解分布式技术 - ServiceMesh 服务网格
- UNIX(多线程):19---Future 类型详解
- 浮栅场效应管 符号_MOS场效应管
- 你遇到过最有诗意的句子是什么?
- Git版本控制:Git远程仓库
- Mybatis 延迟加载策略
- java mysql 学生成绩管理系统_java简单学生成绩管理系统
- 【行业视角】是什么让元宇宙土地与房产变得有价值
- 两代荣耀Magic历史性同框,荣耀Magic 2如何践行科技理想主义?
- puzzle(0921)HueBots
- 纯HTML写国际象棋棋盘
- 通俗讲解MOSFET
- JDK9相比于JDK8,究竟变强了多少
- CCF 201712-4 行车路线
- 基于SSM的家教系统的设计与实现毕业设计-附源码221752
- pandas中的axis=0,axis=1具体含义(转)
- c++ 报错 exponent has no digits
- C语言中如何把位赋值给字节,优秀程序员必须知道的20个位运算技巧
- php中使用视频流的方式播放视频。