摘要: 实例32: 编制一个包含姓名、地址、邮编和电话的通讯录输入和输出函数。 思路解析: 1、用结构体来完成姓名、地址、邮编和电话的组合。 2、结构体指针的使用。 3、malloc的使用 4、scanf函数的返回值是正确输入的变量个数 程序代码如下: 阅读全文
posted @ 2018-10-05 17:03 llccbb1 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 实例31: 判断字符串是否是回文 思路解析: 引入两个指针变量(head和tail),开始时,两指针分别指向字符串的首末字符,当两指针所指字符相等时,两指针分别向后和向前移动一个字符位置,并继续比较,直至两指针相遇,说明该字符串是回文。若比较过程中,发现两字符不相等,则可以判断该字符串不是回文。 程 阅读全文
posted @ 2018-10-05 15:49 llccbb1 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 实例30: 用已知字符串s中的字符,生成由其中n个字符组成的所有字符排列。设n小于字符串s的字符个数,其中s中的字符在每个排列中最多出现一次。例如,对于s[]="abc",n=2,则所有字符排列有:ba,ca,ab,cb,ac,bc。 思路: 实际上目前为止还是不能完全理解书中的程序,也不能在脑海中 阅读全文
posted @ 2018-09-25 20:46 llccbb1 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目: 将字符行内单字之间的空格平均分配插入到单字之间,以实现字符行排版。也就是输入一个英文句子,单词之间的空格数目不同,将这些空格数平均分配到单词之间,重新输出。 代码如下(是原书中配套的代码,只是加了一点个人的注释) 阅读全文
posted @ 2018-09-24 19:46 llccbb1 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 实例28:从键盘读入实数 题目要求: 编制一个从键盘读入实数的函数readreal(double *rp)。函数将读入的实数字符列转换成实数后,利用指针参数rp,将实数存于指针所指向的变量*rp。 思路: 其实一开始我是懵逼的(╯︵╰),输入实数的话用scanf不就可以了吗?为啥还要转换呢?在经过一 阅读全文
posted @ 2018-09-22 15:56 llccbb1 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 实例26:阿拉伯数字转换为罗马数字,将一个整数n(1~9999)转换为罗马数字,其中数字和罗马数字的对应关系如下: 原书中的开发环境很老,我也没有花心思去研究。自己在codeblocks中进行开发的,所以程序与原书中的程序有很多地方不同,但是关键的一些程序还是采用原书中的代码。 第29行-41行算是 阅读全文
posted @ 2018-09-11 21:49 llccbb1 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 实例19:判断正整数n的d进制表示形式是否是回文数(顺着看和倒着看相同的数)。 主要思路: 一种方法:将正整数n数转换成d进制的数,逐个比较首尾对应数字,判断是否为回文数。 另一种方法:将正整数n数转换成d进制的数,将低位数当做高位数,转换成正整数判断与原来的数是否相等。 书中采用的是第二种方法,下 阅读全文
posted @ 2018-09-01 21:24 llccbb1 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 《C语言实例解析精粹》中编译环境采用的是Turbo C 2.0。但是这个编译器年代久远,较新的编译器对书中的某些例子支持不好,在学习的时候同时做一些笔记。 实例18:将一个无符号整数转换为任意d进制(d在2~16之间)。 主要思路:对无符号整数n求d的余数,就能得到n的d进制的最低位数字,重复上述步 阅读全文
posted @ 2018-09-01 00:23 llccbb1 阅读(389) 评论(0) 推荐(3) 编辑