C语言I作业10

一.本周作业头

这个作业属与那个课程 C语言程序设计I
这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097
我在这个课程课程目标是 学会简单自我编译基础代码,入门C语言。
这个作业在那个具体方面帮我实现目标 综合介绍循环结构的程序设计,涉及到多个典型算法。要求学生能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。
参考文献 《中国大学MOOC》 《百度》《思维导图》 #一.本周作业
    1. PTA实验作业
    1. 代码互评
    1. 学习总结

1.PTA实验作业

1.1 题目名:
```输出三角形字符阵列 ```


内容描述:
输出n行由大写字母A开始构成的三角形字符阵列,
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。

输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

1.1.1数据处理

  • 1.数据表达:用了变量 i,j,n;
    分别代表行数和循环累加,属于整型变量。
    用 char op='A'变量代表字符的输入,属于字符型变量。
  • 2.数据处理:
    数据用到的表达式:赋值 如把 算术运算符利用累加和除法,关系运算符比较
    流程结构用for语句。
### 1.1.2实验代码截图![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129021504745-716696375.png)

### 1.1.3 造测试数据
|                |                    |                |
|-------------------|--------------------|-----------|
输入数据|输出数据|说明|
5|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129131924709-1962018469.png)|输出5行由字母A开始构成的三角字符|
6|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129132808657-1926473079.png)|输出6行由字母A开始构成的三角字符|
4|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129132841201-1359872038.png)|输出4行由字母A开始构成的三角字符|
3|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129132928412-1484464796.png)|输出3行由字母A开始构成的三角字符|


### 1.1.4 PTA提交列表及说明
PTA提交列表
![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129020928997-1056944759.png)

提交列表说明:

  • 1.编译错误:在return后面加了一个等号,习惯检查自己的格式,看到后及时改正,去掉等号;
  • 2.格式错误:忘记输入scanf("%d",&n);导致运行中出现问题,低级错误,晚上打代码不行,要在白天清醒的时候;在dev-c++上运行出现了错误提示,自己讨教学长的问题后解决。

1.2 题目2

内容描述:
 梅森数 

形如2
​n
​​ −1的素数称为梅森数(Mersenne Number)。例如2
​2
​​ −1=3、2
​3
​​ −1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2
​31
​​ −1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。

本题要求编写程序,对任一正整数n(n<20),输出所有不超过2
​n
​​ −1的梅森数。

输入格式:
输入在一行中给出正整数n(n<20)。

输出格式:
按从小到大的顺序输出所有不超过2
​n
​​ −1的梅森数,每行一个。如果完全没有,则输出“None”。

1.2.1 数据处理 :

  • 1.数据表达:用了变量j,n,i,代表整数,用于循环,属于整型变量。
    用变量num,代表累加和变量定义,属于整型变量。
  • 2.数据处理:
    数据用到的表达式:赋值 如把i=2; 算术运算符利用累加和除法,关系运算符比较 i <= n;
    流程结构 ;用循环结构for语句,break语句使用,if-else语句;顺序结构。
#### 1.2.2 实验代码截图
![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129021344499-598461520.png)

### 1.2.3 造测试数据
|                                    |                            |
|--------------------------------------|---------------------|----------------------|
输入数据|输出数据|说明|
9|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129134803458-2146410067.png)|按从小到大的顺序输出4个梅森数|
6|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129135601347-1167359701.png)|按从小到大的顺序输出3个梅森数|
8|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140232612-1313884223.jpg)|按从小到大的顺序输出4个梅森数|
7|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140241321-833332468.jpg)|按从小到大的顺序输出4个梅森数|
5|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129135329789-1152207451.png)|按从小到大的顺序输出3个梅森数|
56|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140249545-528539013.jpg)|按从小到大的顺序输出8个梅森数|
99|![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129140101885-1108880717.png)|按从小到大的顺序输出8个梅森数|

### 1.2.4 PTA提交列表及说明
![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129124734904-349016047.png)

  • 1.答案正确:前提是开始在dev-c++上运行出现了很多次,最开始出现7个错误,一个一个的找。#include<math.h>就这一个改了3次才成功,最开始漏了打,后来还出现include少了后面的e,彻底记住这个教训了。还有printf("%d ",num);少了分号;

###  2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
第一位同学:梅深数
* <1>同学代码截图
![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129143857381-1928116798.png)

* <1.1>自己代码截图![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129142057216-2126739828.png)


对比小结:

  • 1.都用了int <math.h>,运用了数学文件,不过我用的是开平方跟,她用除于2,对半分,各有各的优势。
  • 2.我们用的变量不同,我的用了break语句,而她直接用赋值b=1来判断if成立条件。
  • 3.他的排版比我的简洁,应该像他多学习。
第二位同学:三角形字符
* <1>.同学代码截图* ![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129143913288-544756388.jpg)

<2>.自己代码截图![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129142006794-1123302883.png)

对比小结:

  • 1.她的用了get char(),输入一个字符;我们定义变量不同
  • 2.都用两个for语句循环搞定了,不过我不能理解她最后还用m--是什莫意思;
  • 3.我觉的我的格式比她规范一点;
##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语句使用|
|第十周11.26-11.29|8小时| 118行|复习循环嵌套语句,综合介绍循环结构的程序设计,同学讲解代码有关于换算问题,for语句的使用|硬币的换算|



## 3.2 累积代码行和博客字数
![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129151742889-152422105.png)

## 3.3 学习内容总结和感悟

### 3.3.1 学习内容总结

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

![](https://img2018.cnblogs.com/blog/1806878/201911/1806878-20191129150425867-1323211630.png)



### 3.3.2 学习体会
#####(1):if 语句嵌套时,要注意 if 和 else 的配对问题,
#####(2):if else 语句也可以多个同时使用,构成多个分支,,从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块n,然后继续执行后续代码。

也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行。
#####(3)

for(表达式1; 表达式2; 表达式3){
语句块
}

“表达式1”仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句。“表达式2”一般是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。“表达式3”很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。
#####(4):循环条件不成立的话,while 循环就一次也不会执行.
#####(5):do-while循环与while循环的不同在于:它会先执行“语句块”,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while 循环至少要执行一次“语句块”。
原文地址:https://www.cnblogs.com/huqingqing2/p/11955402.html