C语言I博客作业09
C语言I博客作业09
这个作业属于哪个课程? | C语言程序设计I |
---|---|
这个作业要求在哪里? | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10028 |
我在这个课程的目标是 | 计算机中级执照 |
这个作业在哪个具体方面帮助我实现目标? | 学习c语言编程是最基础的一课,是为后面所学做好铺垫。属于打基础一块。 |
参考文献 | 《C语言程序设计》,《C Primer Plus》,百度等。 |
1.PTA实验作业
1.1打印九九口诀表
对于给定的正整数N,求它的位数及其各位数字之和。
下面是一个完整的下三角九九口诀表:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
本题要求对任意给定的一位正整数N,输出从11到N*N的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
输出样例:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
1.1.1数据处理
数据表达:N为所用户输入的数字。
数据处理: ![](https://img2018.cnblogs.com/blog/1806754/201911/1806754-20191122182453041-22842320.png)
1.1.2实验代码截图
1.1.3 造测试数据
(由于不好列出来就截图了)
1.1.4 PTA提交列表及说明
格式错误:未看清题目“等号右边数字占4位、左对齐。”
部分正确:没有设置范围。
答案错误:将n,i,j,m的大小关系搞错了。
答案正确:。。。
1.2找完数
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
输入格式:
输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。
输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。
输入样例:
2 30
输出样例:
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
1.2.1 数据处理
数据表达:n,m为输入的数据,sum为最后所得,flag是为了区分从何而来。
数据处理:![](https://img2018.cnblogs.com/blog/1806754/201911/1806754-20191122112212906-1974196095.png)
1.2.2 实验代码截图
1.2.3 造测试数据
|||
|:--|:--|:--|
|输入数据|输出数据|说明|
|2 30|6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14|题目提供|
|4 8|6 = 1 + 2 + 3|输入可得|
|4 48|6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14|输入可得|
1.2.4 PTA提交列表及说明
答案错误:编译了一个死循环。后重新考虑得出答案。
编译错误:中间切换了中文,导致括号和小于号出错。
部分正确:空集未考虑。
答案正确:。。。
2.代码互评
同学的代码
我自己的作业
- 1别人有对相关作业进行分析,有利于以后的复习,也能让其他人更好的理解自己的代码.
同学的代码
自己的代码
- 1.相同点都是用了双for循环,我在网上看到了一种新的解题思路就是用if-else来进行
3.学习总结
本周学习了连续循环体用以解决换行格式,求完数以及做循环的作业,和for(;;)也是表示死循环的意思。while都能由for循环转换过来,但while不一定能转换成for循环。while(表达式)这个括号里的表达式,为真的时候,就会执行循环体语句,当为假的时候,就不执行。在这里先不举例,后边遇到时再详细说明。还有另外一种情况,就是我们 C 语言里边,除了表达式外,还有常数,习惯上,我们把非 0 的常数都认为是真,只有 0 认为是假,所以我们程序中使用了 while(1),这个数字 1,可以改成 2、3、4......等等都可以,都是一个死循环,不停的执行循环体的语句,但是如果把这个数字改成 0,那么就不会执行循环体的语句了。
3.1 学习进度条
|||||
|:--|:--|:--|:--|:--|
|周/日期|这周花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
|第五周|8小时|五十行|hello world等一些简单的编译|暂无|
|第六周|8小时|八十行|通过编译来进行华氏度与摄氏度的转换|暂无|
|第七周|12小时|一百三十行|学习了if else,定义一部分数学函数|忽略scanf的返回值|
|第八周|13小时|一百五十行|学习了for格式|暂无|
|第九周|13小时|一百五十行|学习了while格式|对于定义函数仍然有些搞不懂|
|第十周|14小时|一百七十行|学习了字符型变量——char|无法灵活的运用取余|
|第十一周|16小时|一百九十行|学习了字符型变量——swicth|swicth熟练度不够|
|第十二周|20小时|二百一十行|学习了循环体while|听懂了但实践有点难|
|第十三周|22小时|二百三十行|学习了循环加换行|逻辑跟不上|
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
所学的知识越来越多,也越来越杂,但大部分都是思路的问题,只要有了思路就能事半功倍,但思路可能要想很久,就当是在锻炼逻辑能力吧,这周与上周相比没学什么新的知识,只是将上次的课升华。哦,还学习了与break相似但不同的新的中断方式语,continue它的作业呢,是跳过下一条语句直接重新开始循环。