C语言I博客作业06
这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 作业要求链接 |
这个作业的目标 | 学习switch的使用 |
学号 | 20208942 |
这个作业在那个具体方面帮助我实现目标 | 看视频,翻书 |
参考文献 | 中国大学Mooch,c语言程序设计(第三版) |
1.PTA实验作业(20分/题)
请再此处列出自己的排名图片,如:
1.1 7-3 有多少位是7? (40分)
描述
从键盘读入一个4位数的整数,求该数中有多少位是7
1.1.1数据处理
数据表达:用了变量a,其值是输入得来的;变量b,其值是由关于a的运算后赋值而来;变量sum,其值是通过判断后累加而来,类型都是整数型。
数据处理:表达式:b=a/1000,b=(a/100)%10,b=(a/10)%10,b=a%10,sum=sum+1;数据用到了if语句。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4757 | 2 | 有两个7 |
3482 | 0 | 没有7 |
7777 | 4 | 有四个7 |
7770 | 3 | 有三个7 |
1117 | 1 | 有一个7 |
1.1.4 PTA提交列表及说明
提交列表说明:1.编译错误:第22行的‘;’未打;解决方法:加上‘;’即可。
2.编译错误:第9行if语句里的条件等号只打了一个;解决方法:再加一个=即可。
1.2 7-5 多分支表达-倍数问题 (50分)
键盘输入1个正的整数A,如果A是3的倍数但不是5的倍数,则输出A除以5的余数。如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数
1.2.1 数据处理
数据表达:变量A,值是输入的,类型是整数型;
流程结构:if语句。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
18 | 3 | 是3而不是5的倍数 |
5 | 2 | 是5而不是3的倍数 |
5.5 | 2 | 这是一个bug,A取整数部分的值后,是5而不是3的倍数 |
0.5 | 没有输出 | A为非整数 |
15 | 没有输出 | 既是3也是5的倍数 |
28 | 13 | 既不是3也不是5的倍数 |
3 | 3 | 这是一个bug,我也不清楚是怎么回事 |
1.2.4 PTA提交列表及说明
提交列表说明:1.前两部分正确其实是一个问题:因为我用的是if语句,而不是if-else语句,当我用了赋值的方式重新的到A的之后,在printf里他有点找不到我的A是赋值后的A还是先前我输入的A;解决办法:去除赋值表达式,直接在printf里加上运算式。
2.部分正确:没有在printf里加\n;解决方法:加上即可。
2.代码互评(5分)
同学代码截图
1:
2:
自己代码截图
1.第一份其实思路差不多,但是她在动作语句1中直接用把它算了出来而不是让电脑去算;
2.第二份的题目我先开始以为用switch语句会比较复杂就用了if-else语句,结果明显这道题用switch语句更简单。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
8/19-8/25 | 10 | 180 | C语言的发展史及特点,简单编程 | 无 |
9/26-9/1 | 12 | 300 | 用程序语言解决一些简单的数学运算 | scanf作为输入函数为什么要地址符,而printf函数不要 |
10/2-10/8 | 13 | 400 | 了解简单的循环结构 | 沙漏里的循环套循环怎么弄 |
11/10-11/15 | 12 | 350 | 自定义函数 | while循环 |
12/17-12/22 | 12 | 400 | 分支结构、符型数据类型和逻辑运算符 | 对分支结构还不能好运用 |
13/23-13/30 | 12 | 359 | switch语句 | 无 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
现在尽管在学习的过程中还是犯了不少低级错误,但这种错误逐渐在减少,我对于在写编程前也有了自己要注意的地方,另一个就是感受到了同一个题也会有很多种解法,我原来的思维总是被困在书上,但现在我会思考用另一种方式可不可以解决这个问题,我还会翻阅更多大佬的对于同一个题目的不同看法,尽管还有很多看不懂,我也会通过他们的代码在百度一点一点的搜索,然后积累下来。