C
文章平均质量分 65
_esther_
stoic
展开
-
求第n个斐波那契数(三种方法)的空间复杂度,时间复杂度
所需知识 递归 循环斐波那契数列斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)...原创 2018-08-17 18:43:37 · 2888 阅读 · 0 评论 -
2021-11-08【C】【递归】【代码】入门汉诺塔问题+青蛙跳台阶(斐波那契解法)
目录汉诺塔问题汉诺塔问题汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。规则:三根柱子,将起始柱上的圆盘全部移动到目标柱上1.每次只能移动一个圆盘2.移动中三根杆,大盘在下,小盘在上3.每次只能移动柱子最上端的一个圆盘三层原创 2021-11-09 14:42:23 · 1282 阅读 · 0 评论 -
【C初阶02】分支语句和循环语句(rand函数+%2d)
C02分支语句ifswitch循环语句whilefordo whilegoto语句原创 2021-04-21 18:05:30 · 351 阅读 · 0 评论 -
恶作剧关机小程序
#include <stdio.h>int main(){ char input[10] = {0}; system("shutdown -s -t 60");again: printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>"); scanf("%s", input); if(0 == strcmp(input, "我是猪")) { system("shutdown -a"); } else { goto again; }原创 2021-04-20 14:10:55 · 145 阅读 · 0 评论 -
【C初阶05.1】C语言运算符简表及优先级
参考百度百科C语言运算符优先级表优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++前置自增运算符++变量名单目运算符++后置自增.原创 2021-03-16 20:21:51 · 128 阅读 · 0 评论 -
【C初阶01】C语言基础(初步了解-数据类型+变量常量+字符串+转义字符+注释+指针+结构体)
C语言1 基本概念1.1 什么是C语言1 基本概念1.1 什么是C语言C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可能在...原创 2021-01-03 12:14:53 · 1921 阅读 · 0 评论 -
OJ题-4月(C/C++基础)
OJ题1旋转数组1.1暴力写法1.2倒置写法1旋转数组要求1.1暴力写法void rotate(int* nums, int numsSize, int k){ int kk = k; while (kk--)//重复进行 { //旋转一个数字 int tmp = nums[numsSize - 1]; for (int i = numsSize - 2; i >=...原创 2020-06-01 15:38:42 · 347 阅读 · 1 评论 -
题:1s运行程序------double^int,统计2进制1的个数
所需知识函数循环递归位操作题目1:时间限制:1秒空间限制:32768K给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方❀思路分析1.暴力循环法码如其名,循环完成,每次乘以底数base,循环exponent次方double Power(double base,int exponent){ int sum ...原创 2018-11-18 20:47:23 · 287 阅读 · 0 评论 -
栈解决------括号匹配问题和逆波兰表达式
所需知识 栈 字符串一.括号匹配问题❀思路分析有如下四组字符串 如何检测左右括号顺序与个数是否匹配---------- char a[] = &quot;(())abc{[(])}&quot;; char b[] = &quot;(()))abc{[]}&quot;; char c[] = &quot;(()()abc{[]}&quot;;原创 2018-08-20 16:09:16 · 385 阅读 · 0 评论 -
迷宫问题(二)------复杂迷宫
所需知识 结构体 递归❀思路分析 1.跟上篇比较区别在于,多通路,同出口,同入口,如何在已经找到了一个出口的情况下,如何返回来找另外一条最短路径,还是用赋值法。 2.探路的顺序是上左右下。 从入口开始,通路的条件为,下一位置值为1或值大于当前位置的值, 赋值依次加1 每次走位置,都调用一次函数,形成递归 向上走为最高优先级,走不通后向右走,然后向下 当...原创 2018-08-20 16:02:24 · 1467 阅读 · 0 评论 -
迷宫问题(一)------简单迷宫
所需知识 递归 结构体❀思路分析如图为一个简单的迷宫地图 简答理解为,数字1代表通路,数字0代表障碍物。 1.怎样创建迷宫地图的信息创建一个结构体,内放二维数组来保存迷宫地图的坐标/建立一个地图typedef int DataType;//迷宫typedef struct Map{ DataType map[ROW][COL];}M...原创 2018-08-19 16:48:38 · 1300 阅读 · 0 评论 -
#ifdef,#else,#endif,#if的作用和意义+C语言的编译预处理
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。 关于预处理命令中的文件包含(#include),宏定义(#define),书上已经有了详细的说明,在这里就不详述了。这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说...原创 2018-08-15 16:14:59 · 8818 阅读 · 0 评论 -
C——指针进阶
一、指针数组 二、数组指针 应用 指针和数组的定义说明 三、函数指针 四、函数指针数组 五、指向函数指针数组的指针一、指针数组 指针数组是数组,是一个存放指针的数组例如: int a[10]; 存放了10个整形变量的数组 char a[10]; 存放了10个字符变量的数组 int * p 为一个存放整形常量 地址的指针变量类比理解int * a[...原创 2018-05-14 18:14:34 · 313 阅读 · 0 评论 -
一个友好的扫雷程序———————C初学者都能学会的简单扫雷(二)
一、优化内容的理解在前篇的基础上做一下两点扩展和一些细节优化 1.第一次点击,不炸死(如果哪个倒霉蛋第一下就点到了雷,我得让电脑偷偷把这个雷挪走) 2.如果坐标周围没雷,可以实现展开。展开的意思: 上篇(一)中讲到,当我面对这样的一个雷阵时 输入一个坐标,该坐标不为雷,我应该通过该坐标展现出的数字知道该坐标周边八个位置的雷个数, (实现过程见函数char geshu(char c[...原创 2018-04-28 15:33:51 · 731 阅读 · 1 评论 -
C——位运算的巧妙使用
位运算使问题简化1.编写函数:unsigned int reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 100110000000000000000000...原创 2018-04-14 11:46:27 · 208 阅读 · 0 评论 -
可扩展三子棋^五子棋
一、开始的思路1.从三子棋开始,先不考虑扩展(1)、 打印棋盘打印一个棋盘,如何打印呢?先考虑下棋的位置,是三行三列,所以定义一个数组c[3][3],如何让这个棋盘有分割线呢?分别打印,第一行先输出 a[0][0] | a[0][1] | a[0][2] ,第二行输出—|—|—,依次类推(见函数void dayin (int a[ROW][COL], int row,int ...原创 2018-04-14 18:12:29 · 239 阅读 · 0 评论 -
一个友好的扫雷程序————C初学者都能会的简单扫雷(一)
一、思路整理(一)、两个数组,我们设定两个数组来存放和显示,数组ying[][]用来存放 0和1,其中0代表无雷,1代表有雷。先进行数组初始化,开始时将数组内元素全部赋值为0 数组xian[][]用来存放“*”号,这个数组将是玩家看到的界面. (二)、定义好以后,开始进行埋雷 即用坐标(x,y)x = rand() % (row - 1); y = rand() % (row -...原创 2018-04-18 12:13:12 · 8347 阅读 · 1 评论 -
用C语言解决推理小问题+打印杨辉三角
用三个简单的推理题打开C语言推理的思路1.5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的次序*/#include&amp;lt;stdio.h&amp;gt;int main(...原创 2018-04-14 10:13:22 · 450 阅读 · 0 评论 -
C中的函数学习(一)
最简单的代码用函数表示1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表。#define _CRT_SECURE_NO_WARNINGS 1#include &lt;stdio.h&gt;void chengfabiao(int a) //打印一个乘法口诀表{ int i = 0, ...原创 2018-04-14 10:22:39 · 193 阅读 · 0 评论 -
字符串-------库函数的实现
原创 2018-05-08 23:35:42 · 141 阅读 · 0 评论 -
让字符串左右旋的函数
/*1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB */#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>char * zuo_xuan( char * dest ,int n){ char *top = dest; char *end = de...原创 2018-05-02 19:41:21 · 149 阅读 · 0 评论 -
C————初接触的“递归思想”栗子
1.递归 函数内部自己调用自己 2.斐波那契数说明 1 1 2 3 5 8 13 21 34 55 从第三个数字开始,每一个数字都等于前两位的和/*1.递归和非递归分别实现求第n个斐波那契数。*///递归方法#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int di_gui(int n){ if (n...原创 2018-05-02 23:03:17 · 190 阅读 · 0 评论