代码改变世界

C语言I博客作业10

2019-11-29 21:13  Sapphire丶  阅读(209)  评论(0编辑  收藏  举报
。1.业属于那个课程C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
我在这个课程的目标是 完善知识结构,全力迎接期末考
这个作业在哪个具体方面帮助我实现目标 for的嵌套循环熟能生巧,对函数模型的判断
参考文献 CSDN、百度百科,c语言程序设计

 

 

1.pta实验作业

 

 

 

 

 

1.1.题目名

 

8 输出三角形字符阵列 (15 分)
 

本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式:

输入在一行中给出一个正整数n(1n<7)。

输出格式:

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

输入样例:

4

输出样例:

A B C D 
E F G 
H I 
J 




1.1.1数据处理

数据表达:读题之后,首先明确正整数n为1到7,因为只有26个字母,且题目给定变量n。

要求组成三角形阵列,结合很容易联想到for循环的嵌套结构。

数据处理:通过定义i,j,分别用作两个循环的数,用count作为计数组。

将n取整之后,由i来减列,j来加行,‘ ’来显示字符,\n来换行,最后输出结果。

 

 

 

 

 

1.1.2实验代码截图

 

 

 

 

1.1.3造测试数据

 

输入数据输出数据说明
4 利用题目所给条件验证合理性
1 A 使用最小值验证
6 使用最大值验证
2 随机验证

 

 

 

 

1.1.4提交列表

第一次编译错误:count++后大括号,我原先将printf的语句括了进来,导致编译发生错误。

第二次格式错误:printf("%c  "这里应该打空格,第一次写时没有注意。

 

 

 2.1.1题目名

7-3 梅森数 (20 分)
 

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

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

输入格式:

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

输出格式:

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

输入样例:

6

输出样例:

3
7
31




2.1.1 数据处理

数据表达:仔细审题之后,首先明确什么是梅森数,给定变量n,且小于20,所以范围较小。接着题目要求从小到大的顺序

输出不超过2n-1的每一行梅森数,完全没有则输出none。很明显这是应该应用for的嵌套循环,首先定义变量 ' i 来提升pow的2上的指数,

在定义变量 j 改换行数。运行计算完之后通过if条件语句筛选出有无梅森数,即可完成题目所要求操作。

 

 

 

 

2.1.2 实验代码截图

 

 

2.1.3造测试数据

输入数据输出数据说明
6 3 7 31 使用题目数据验证
1 None 使用最小n
19 3 7 31 127 8191 131071 524287 使用最大n
4 3 7 随机值n

 

2.1.4提交列表

 

第一次答案错误:

我在下文中运用函数时,开头的#include<stdio.h>下面忘记加了<math.h>,导致不能运用此函数,

同时最后一组if()后手误我多添加了一个分号;

第二次部分正确:我一开始搞了很久没有搞出来到底哪里出错了;后来通过编译运行与调试之后发现,

在最后一组大括号中,我没有将最后的printf语句与前面的内容放在一起,而是用括号括进去了,导致运行计算时与题目答案完全不符。

 

2.代码互评

 

 

这两份代码都比较简单,但是明显看到第一个代码简单的过分了,

2份代码得出的都是正确答案,不信可以去试一试,之所以出现这样的情况是因为第四题题目所限制的条件

太少了,只是1000以内的同构数,一下子就能自己算出来。只要最后输出的答案与题目相符就行了。希望下次

能够注意一点,不要让题目有空子可以钻。

 

 

3.学习总结

3.1 学习进度条

周/日期这周所花的时间代码行学到的知识点简介
第三周 9个小时 400 学会根据题目,选择算法、循环
第四周 11个小时 450 学会使用break,continue以及循环结构
第五周 7个小时 400 能够使用while和do-while结构
第六周 7个小时 300 学会使用switch语句
第七周 每天2个小时 260  
第八周/10-24 每天40分钟 160 for循环语句和自定义函数
第九周 每天50分钟 240 for嵌套循环
第十周 每天一个小时 350 for循环嵌套与if-else结合

 

 

3.2累计代码行和博客字数

时间博客字数代码行数
第一周 600 50
第二周 800 70
第三周 1200 90
第四周 1400 100
第五周 1600 160
第六周 1700 240
第七周 2000 300
第八周 2100 400
第九周 2200 450
第十周 2300 450

 

 

学习感悟:马上就是期末考试了,希望能够全力以赴,取得一个好的开始,每门功课都不能落下,

虽然除了学习其他学生会的事,部门的事,微留学的事比较多,但是坚持负重前行,才能够更充实。