如何提高编程能力?(上)

0.说在前面1.i++与++i总结1.1 i++与++i1.2 区别总结:2.大小写转化3.交换字符串3.1 使用传字符串地址3.2 使用strcpy函数3.3 自写字符串交换函数3.4 同3.3自写函数4.字符串中单词4.1 统计字符串中单词个数4.2 最长单词及位置5.字符串与整数5.1 把字符串分别转换成面值相同的整数5.2 产生[m,n]范围内的随机数num6.复制字符串6.1 主函数6.2 五种方法复制字符串6.3 最简单方法7.删除*号7.1 删除除了尾部之外的其余*号7.2 只删除前面*号8.约瑟夫环9.文件16.1 求文件字节数16.2 读取文件中的数据10.汉诺塔问题11.三天打鱼两天晒网12.猴子分桃问题12.1 递归实现12.2 正向求解12.3 逆向求解13.斐波那契数列13.1 递归实现13.2 非递归实现14.特殊数14.1 用穷举法求某数段的素数14.2 水仙花数14.3 完全平方数14.4 完数14.5 同构数15.最小公倍数与最大公约数16.验证哥德巴赫猜想17.求近似数17.1 牛顿迭代法17.2 精简版17.3 二分法17.4 弦截法18.矩阵运算及二维数组18.1 求两个矩阵之和、之积18.2 二维数组19.位运算及应用19.1 位运算19.2 一个字节中被置为1的位的个数20.排序算法20.1 快速排序20.2 冒泡排序20.3 选择排序20.4 直接插入排序21.链表21.1 单链表之增删改查21.2 头插法21.3 链表逆置22.栈及栈应用22.1 入栈出栈及判空实现22.2 栈实现括号匹配23. 二叉树23.1 二叉树所有操作24.必会小点24.1 四舍五入24.2 逗号表达式24.3 void 类型指针24.4 内存分配24.5 质数分解24.6 大小写转化24.7 字符数字转化为整型数字25.常考小点25.1 完数25.2 闰年25.3 统计输入的数是几位数25.4 注意事项25.5 字符串比较25.6 转二进制25.7 文件指针25.8 sizeof与strlen25.9 转义符25.10 数字正反序25.11 求最后三位25.12 一维与二维数组对比25.13 优先级0.说在前面

这是一篇8542字的长长长长…文,我知道你不会看完,没关系,先收藏,在转发,哈哈,觉得不错,可以帮我转发。

这是我在考研复试结束后写的一篇长文,来总结我的考研复试C,关于C语言,你知道这些用法?听过?

或许大家都知道C这门语言,也都把他作为一门入门语言,但是真正的涉及算法,一些数据结构运用深入了解了?

那么本篇文章则是我自学的时候,将C语言的所有代码实现的,全部代码盲打!!!盲打!!!你没听错,下面这一页的代码都是我手动敲得,并且没有参考网上代码,自己实现的。最近有人问我,编程能力如何提高,实话告诉大家,我编程能力一般,但是从我把这篇文章盲打完后,我的编程能力得到了质的飞跃,大家可以copy到你的IDE里面统计一下这篇文章的代码量多少,得有上千行了,盲打这么多,能不提升到代码能力吗,所以啊,我的建议是,在学习编程的同时,不要忘记手敲,仿写,盲敲等等~~重点实践!!!

由于篇幅太长,所以只能分三篇发~~

1.i++与++i总结

1.1 i++与++i

下面注释的都可以使用,开启依次尝试!

1.2 区别总结:

i++ 返回原来的值,++i 返回加1后的值。

i++ 不能作为左值,而++i 可以。

左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。

左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。

2.大小写转化

3.交换字符串

3.1 使用传字符串地址

3.2 使用strcpy函数

3.3 自写字符串交换函数

3.4 同3.3自写函数

4.字符串中单词

4.1 统计字符串中单词个数

其中包含实现了对单词中第一个字符大写

4.2 最长单词及位置

输出一行字符串中的最长单词及其位置

对这个字符串从头到尾遍历,在迭代器i遍历字符串的过程中,遇到不是空格,就是遇到单词,i开始计算,通过对当前最大值max的对比,最终求出一个最长的单词。同时记录这个单词,最后的一个字母的位置,而这个最大值max就是这个单词的长度。可以倒着输出,字符串中的第p-max到第p个字母就是这个最长的单词。

5.字符串与整数

5.1 把字符串分别转换成面值相同的整数

5.2 产生[m,n]范围内的随机数num

6.复制字符串

6.1 主函数

6.2 五种方法复制字符串

6.3 最简单方法

7.删除*号

7.1 删除除了尾部之外的其余*号

7.2 只删除前面*号

8.约瑟夫环

9.文件

16.1 求文件字节数

16.2 读取文件中的数据

10.汉诺塔问题

11.三天打鱼两天晒网

12.猴子分桃问题

海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,

这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,

它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

12.1 递归实现

12.2 正向求解

12.3 逆向求解

13.斐波那契数列

13.1 递归实现

13.2 非递归实现

14.特殊数

14.1 用穷举法求某数段的素数

14.2 水仙花数

所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身

14.3 完全平方数

14.4 完数

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数.

14.5 同构数

同构数之解法一

正整数n若是它平方数的尾部,则称n为同构数

同构数之解法二

同构数之解法三

15.最小公倍数与最大公约数

16.验证哥德巴赫猜想

哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。输入两个整数m,n(6小于等于m,m小于等于n,n小于等100),将m,n之间的偶数表示成两个素数之和

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181202G00HNE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券