![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言常见问题
C语言初学者常见的问题,经典的题目求解等
「已注销」
这个作者很懒,什么都没留下…
展开
-
const的详细用法(C语言)
const的用法(C语言)目录:const的作用const和指针的结合const和引用的结合(一)const的作用const修饰的量为一个常量即不能被修改的量 如:int a=10;指定义了一个变量a并初始化为10,但是后面可以对a的值进行修改。 但是 const int a = 10;指的是定义原创 2020-05-25 00:46:45 · 498 阅读 · 0 评论 -
不建立临时变量求字符串长度
不建立临时变量求字符串长度在解决这个问题之前,我们先来看看在建立临时变量的时候,这个功能是如何实现的?算法分析:一个字符串总是以转义字符‘\0’结束,那我们可以建立一个临时变量,运用循环语句从左到右依次判断该字符是不是‘\0’,如果不是,则临时变量加1。直到遇到‘\0’为止。代码如下:现在我们再来看在不建立临时变量时,该怎么样实现此功能?算法分析:假如,要计算字符串“ABCD”的长度。我们还是从左到右依次分析,当判断第一个字符A时,我们发现不是‘\0’,这就说明,该字符串的长度至少为1。换句话原创 2020-05-09 21:40:12 · 245 阅读 · 0 评论 -
汉诺塔(C语言递归)
汉诺塔(C语言递归)问题描述:汉诺塔:汉诺塔(Tower of Hanoi)源于印度传说中,大梵天创造世界时造了三根金钢石柱子,其中一根柱子自底向上叠着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。起到中转作用。 在进行转移操作时,都必须确保大盘在小盘下面,且每次只能移动一个圆盘,最终c柱上有所有的盘子且也是从上到下按从小到大的顺序。分析:假设A上有n个盘子.////////////////原创 2020-05-19 10:26:13 · 869 阅读 · 1 评论 -
杨辉三角的求解问题(C语言)
1级标题题目:在屏幕上打印杨辉三角。11 11 2 11 3 3 11 4 6 4 1……观察可得,每一行的第一个元素和最后一个元素都是1,其余元素满足,某一行的第n个元素等于上一行的第n-1个元素和第n个元素之和。代码如下:...原创 2020-05-12 13:30:24 · 383 阅读 · 0 评论 -
青蛙跳台阶直观求解(c语言)
青蛙跳台阶直观求解(c语言)题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?(先后次序不同算不同的结果)。分析:换一种说法,就是一个数n,让用1和2经过不同的排列来组成。由于排列顺序的影响,对于稍微大一点的n来说,都有很多种。解这个问题,有很多种方法,但大多都比较抽象,不好理解。所以在此我提供一种简单直观的方法。既然能用算法来解,那说明它肯定存在某种规律,那不妨我们先对于小一点的n,把他的组合方式列出来看看:n=1,只有一种跳法,1.n=2,那么有两原创 2020-05-11 23:56:02 · 814 阅读 · 1 评论 -
c语言递归函数的用法
递归函数的用法——依次输出一个数的每一位题目1:输入一个数,依次输出它的每一位。问题分析:假如输出的字符串为“123”,我们建立一个函数print()。即print(123)。我们不难得到最后一位数3(3=123%10)。那在输出3之前,前面两位如何输出呢?那这个问题就变为:先依次输出12的每一位,在输出3。即print(123)=print(12)+3。同理:print(12)=print(1)+2。对n位数也是如此。最后一位很好得到,前面的不断调用print()函数转化为依次输出十位前面的每一原创 2020-05-09 13:25:39 · 1193 阅读 · 1 评论