![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
超小泽
倔强青铜选手
展开
-
c primer plus第11章课后题第14题:使用字符分类函数实现atoi()函数。
首先要确定atoi()的功能:输入:字符串输出:相应的数字。这一步骤是由高位到低位进行的,因此按照十进制数字的规则就能实现。其次,要防止异常发生:如果是输入是字母:返回0如果输入是’+‘’-'两个符号:识别正负如果输入是空串:返回0如果输入是其他符号:返回0如果输入是空格: 跳过(这一步骤应该就是题目所说的字符分类)最后,数字处理类问题要防止溢出。原创 2023-06-23 12:10:45 · 116 阅读 · 0 评论 -
c primer plus第11章课后题第10题:将字符串用不同方式排序。
编写一个程序,读取输入,直到读入了10个字符串或遇到EOF,由二者中最先被满足的那个终止读取过程。这个程序可以为用户提供一个有5个选项的菜单:输出初始字符串列表、按ASCII顺序输出字符串、按长度递增顺序输出字符串、按字符串中第一个单词的长度输出字符串和退出。菜单可以循环,直到用户输入退出请求。当然,程序要能真正完成菜单中的各项功能。原创 2023-06-14 10:20:06 · 93 阅读 · 0 评论 -
c primer plus第11章课后题第8题:字符串反序。由此引申到c语言中函数如何返回一个字符串。
然后我在主函数分配一段内存,试图将传回来的字符串指针赋值给这段内存,发现也不行,单步调试的时候,明明看起来已经赋值成功了,打印出来就是不对,不懂为什么,这个我还是不理解。第一种,将字符串指针作为函数参数传入,并返回这个指针。这样在主函数开辟好内存后,先将这段空间传入函数,再经过函数处理,最后传回主函数,可以实现功能要求。一开始我犯了典型的错误,在函数里定义新字符串,这样就需要为字符串动态分配内存,但是书上这部分内容还没讲到,不会写。第二种,使用malloc函数在函数中动态分配内存,并在主函数中释放。原创 2023-04-12 11:32:04 · 61 阅读 · 0 评论 -
c primer plus第11章课后题第1题:设计并测试一个函数,可以从输入读取n个字符(包括空格、制表符和换行符),把结果储存在一个数组中,这个数组的地址通过参数来传递
int getchar(stdin)这个函数可以读取键盘中的任意字符,包括空格、制表符、换行符,以前都是用getchar()读入字符,读到回车符结束输入,类似于这种用法。现在的用法是读到足够字符数量后,终止输入,就能保证需要的内容都输入了。果然字符串相关知识大一就没有学好,是我的薄弱环节,第一题就不会做。这里主要是getchar()函数的运用。原创 2023-04-09 11:15:35 · 82 阅读 · 0 评论 -
C PRIMER PLUS第11章字符串学习笔记
随手记录一下比较重要的知识点。原创 2022-07-06 21:04:34 · 148 阅读 · 0 评论 -
c primer plus第10章课后题第12题:编写一个程序,提示用户输入3个数集,每个数集包括5个double值
好久没时间学c语言了,最近重新捡起来,之前这道题卡了很久,可能是我没读懂题,这次回来几分钟就搞定了。果然学习还是要持续,不然卡在哪里都不记得,起不到总结经验的效果了。希望看到的朋友能引以为戒,保持学习的习惯。编写一个程序,提示用户输入3个数集,每个数集包括5个double值,实现一下功能:a.储存二维数组b.计算每个数集的平均值c.计算所有数的平均数d.找出最大值e.打印结果运行结果:Please input 3 sets of numbers,which have 5 numbers in原创 2022-06-07 20:38:37 · 192 阅读 · 0 评论 -
c primer plus第10章10.13编程练习第6题:初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组
题目编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的函数来复制数组的每个子数组)。解答第一个思路,是想创建两个指向(COLS个double值的数组)的指针,然后让新的指针指向原数组的指针,整体复制,发现不能这么操作,不知道为什么。void copy_arr(double *p,double *np,int length){ while (length > 0) {原创 2021-01-29 11:00:02 · 510 阅读 · 0 评论 -
c primer plus第八章课后题第8题:加减乘除
#include "stdio.h"float requstNumber(void);float add(float x,float y);float sub(float x,float y);float mul(float x,float y);void divide(float x,float y);int main(void){ char ch; float n1; float n2; printf("Enter the operation o.原创 2020-06-28 10:18:25 · 187 阅读 · 0 评论 -
c primer plus第八章课后题第2题:打印字符和和它的ASCII值
https://blog.csdn.net/qq_36324796/article/details/78920390?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase参原创 2020-06-20 14:57:39 · 225 阅读 · 0 评论 -
c primer plus第七章课后题第8题:写一个简单的界面
题目:使程序提供一个选择工资等级的菜单思路:其实没什么难度,只不过是第一次写界面,值得纪念。还记得大一最后大作业老师让写界面,我一脸懵逼,都不懂什么意思。大学的课真的不适合0基础同学学习,总闭门造车,什么都造不出来。最后还是靠百度交作业。用switch按数字分支,每个分支连接这个功能要执行的函数。代码:#include "stdio.h"#define FIRST 8.75#defin...原创 2020-05-06 13:25:58 · 221 阅读 · 0 评论 -
c primer plus第六章课后题第11题:无限序列和是否收敛
计算:1.0-1.0/2.0+1.0/3.0-1.0/4.0 …提示:奇数个-1相乘的值为-1,偶数个-1相乘的值为1。拿到这道题,第一反应就是用if,如果计数器是偶数就减,计数器是奇数就+。但是这是第六章,还没有学if语句,而且还给了一句提示,我就想按照这个提示的思路,想想作者想让我们干什么呢。于是想到了常见的数学表示方法:-1的n次方。ok,问题解决,下面上代码。#include "...原创 2020-04-30 16:01:01 · 339 阅读 · 0 评论 -
c primer plus第六章课后题第4题:打印金字塔型图案
大一时,打印图形类的题目是我的弱点。现在学觉得好简单,只要记住外部循环代表行数,内部循环根据外部循环的递增找规律就可以了。这道题要求打印一个字母金字塔:要点:第一步找规律,图形由三部分组成,最左边是空格组成的倒三角,中间是字母递增的正三角,最右边是从第二行开始字母递减的正三角。因此,外部循环打印5行,内部循环有三部分,依次打印就可以了。附代码:#include "stdio.h"...原创 2020-04-29 12:28:19 · 568 阅读 · 0 评论 -
c primer plus第五章课后题第7题:输入非数字数值循环结束
要求输入q或其他非数字值时,循环结束。参考大佬答案https://blog.csdn.net/kexiaojiu/article/details/50173149得知将scanf函数和数据类型联系在一起的方式——scanf函数的返回值。见书p81:scanf()函数返回成功读入项目的个数。如果它没有读取任何项目(当它期望一个数字而您却键入了一个非数字字符串时就会发生这种情况),scan...原创 2020-04-25 19:46:29 · 928 阅读 · 0 评论 -
c primer plus第五版勘误
真没想到大一买的书大学毕业才看…年少不努力,二本来相聚,准备好念二本了。= =这本书印刷错误不少,不影响阅读。目前看到第5章,真的是我心目中最好的c语言零基础教材,深入浅出。每个计科学子都应该搞一本。后悔没大一看,呜呜。p73 程序4.10 第6行应为%24s。p106 程序5.14 第9行应为c。.........原创 2020-04-16 16:25:39 · 508 阅读 · 0 评论