C语言I博客作业09

一.本周作业头

这个作业属与那个课程 C语言程序设计I
这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029
我在这个课程课程目标是 学会简单自我编译基础代码,入门C语言。
这个作业在那个具体方面帮我实现目标 熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。
参考文献 《中国大学MOOC》 《百度》《思维导图》 #一.本周作业
    1. PTA实验作业
    1. 代码互评
    1. 学习总结

1.PTA实验作业

1.1 题目名

打印九九口诀表

内容描述:下面是一个完整的下三角九九口诀表:

1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  
 1.1.1数据处理
* 1.数据表达:用了变量i,j,n代表乘数,乘数,输入位正整数N,属于整形变量。
* 2.数据处理:
数据用到的表达式:赋值 如把j = 1    算术运算符利用累加法:i++,关系运算符比较j<=i;
流程结构用利用for循环语句 ,scanf()输入语句。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
3 1到3的乘法口诀表
4

|1到4的乘法口诀表|
5|

|1到5的乘法口诀表

1.1.4 PTA提交列表及说明

PTA提交列表

提交列表说明:
* 1.部分正确:没有把%后面的-4d打上去,看书上对照,和看同学在课堂上的拍摄图片
* 2.答案错误:for语句中把i=1没有空格写,检查自己基本语句是否有错误,突然之间反应过来。

## 1.2 题目2:找完数 

所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。

输入格式:
输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。

输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。

1.2.1 数据处理 :
* 1.数据表达:用了变量m,n,i,j,代表整数,属于整型变量。
用变量sum,num,分别代表累加和变量定义,属于整形型变量。
* 2.数据处理:
数据用到的表达式:赋值 如把 sum=sum+j;    算术运算符利用累加和除法,关系运算符比较 j <= i;
流程结构 ;用循环结构for语句,累加sum的使用,, continue语句。
伪代码:定义变量n表示边长,c表示字符,i和j控制循环
输入边长和字符
if(n%2==0) //当n为偶数时
for(i=1;i<=n/2;i++) //n/2行
{
for(j=1;j<=n;j++) //每行n个
{
printf("%c",a);
}
printf("
");
}
if(n%2!=0) //当n为奇数时
for(i=1;i<=(n+1)/2;i++) //(n+1)/2行
{
for(j=1;j<=n;j++) //每行n个
printf("%c",a); //输出字符c

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据
6 5 6 = 1 + 2 + 3
28 77 28 = 1 + 2 + 4 + 7 + 14
15 34 28 = 1 + 2 + 4 + 7 + 14

1.2.4 PTA提交列表及说明

* 1.编译错误:printf 的字母少了一个,;忘记打,检查后及时纠正。
* 2.编译错误:把for后面的语句多打了一个;打错N=1,没能理解题目意思,上百度查询相关题目。

2.代码互评

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
第一位同学:

  • <1>同学代码截图

  • <1.1>自己代码截图)

对比小结:
* 1.她的用了空格代表等号右边数字占4位、左对齐,我直接用-4%d,4是指定的位数;d是表示10进制数字;+,-只是表示位数小于4位时左边补空格还是右过补空格。
* 2.我们用的变量不同,我的用了item,而她直接用累加。
* 3.他的排版比我的简洁,应该像他多学习。

第二位同学:

  • <1>.同学代码截图*

<2>.自己代码截图

对比小结:
* 1.我们用语句不同,我用的是if-else,而她基本用for语句;
* 2.我们判断条件相反。我是利用取余为二是分的,而她用的是不等于二,但大致意思相同
* 3.她前面的for语句内容相对复杂,不过简单,节省空间。尽量代码写的清晰易懂,会跟有利于以后的工作。

3.学习总结(15分)

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点 简介目前比较迷惑的问题
第一周10.01-10.07 26小时 65行 温度转换 为什么要自己去安装MinCW-w64
第二周10.09-10.12 22小时 66行 进行了摄氏温度和华氏温度的转换。注意:F=C×9/5+32,温度值取浮点数类型 有关于温度转换公式
第三周10.14-10.17 20小时 85行 循环结构for,%的部分含义,sum的意义 item的具体使用方面,相关含义
第四周10.23-10.26 14小时 55行 编写函数,懂得分号的含义,怎样用for语句 素数的判断该如何更简单编写程序
第五周10.30-11.02 22小时 75行 熟悉多分支结构、字符型数据类型 逻辑运算符利用,算数优先级从那边开始运算
第六周10.30-11.02 22小时 75行 熟悉多分支结构、字符型数据类型 逻辑运算符利用,算数优先级从那边开始运算
第七周11.05-11.07 04小时 35行 分支结构 熟悉多分支结构switch语句的使用 for语句的插入和分支的陷入
第八周11.10-11.15 06小时 65行 for语句确定循环次数,while明确循环终止条件,do-while语句是必须要执行一次 二进制与十进制转换
第九周11.18-11.21 10小时 98行 continue表示结束本次循环,而不终止整个循环的执行。而是结束本次循环,进行下一次循环 没有看懂for语句使用

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

整理本周学习的主要知识点有:

  • (1) break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。
  • (2)continue用于 while、do-while、for构成的循环中. 遇到continue语句,则 跳过本次循环后面尚未执行的语句,提前结束本次循环,并继续循环流程的下一步。

3.3.2 学习体会

(1)break可以在if-else中使用直接跳出当前循环。
(2)在多层循环中, 一个break语句只向外跳一层,continue语句的作用是跳过循环体中剩余的语句并到循环末尾而强行执行下一次循环。

continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用, 用来加速循环。

(3)多层 for 循环嵌套的执行过程与单个 for 循环的执行过程是一模一样的。多层 for 循环的嵌套只不过是将单个 for 循环大括号中的“语句”换成了 for 循环而已。
原文地址:https://www.cnblogs.com/huqingqing2/p/11908170.html