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
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
1
6=6 26=12 36=18 46=24 56=30 66=36
1
7=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,输出从1
1到N*N的部分口诀表。

输入格式:

输入在一行中给出一个正整数N(1≤N≤9)。

输出格式:

输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:

4

输出样例:

11=1
1
2=2 22=4
1
3=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它的作业呢,是跳过下一条语句直接重新开始循环。

3.3.2 学习体会

做题目还是太焦虑了,碰到难题就只会肝,其实可以查查相关文档,来寻找更有利的解决办法来达到事半功倍的效果才是一个合格的程序员应该做的,很大部分时候听懂不代表学懂,在大学学习生活中你所认为的学习好真不是简单的能听懂老师所讲内容而是会自己学习,也就自己主动去学习,只有那样你才会有更多的收获。不管问题有多难,都不要放弃,也一定不要死磕,要多想办法,你才能战胜困难,不然只能白白浪费时间。

posted @ 2019-11-22 18:31  一柄长剑两桀骜  阅读(194)  评论(3编辑  收藏  举报