我是太阳啊啊

导航

C语言I博客作业10

一、本周教学内容&目标

第4章 循环结构 4.5 综合介绍循环结构的程序设计,涉及到多个典型算法。要求学生能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。

二、本周作业头

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10096
我在这个课程的目标是 掌握C语言,灵活运用C语言编程
这个作业在那个具体方面帮助我实现目标 深度掌握嵌套式循环
参考文献 百度以及C语言程序设计教材

1.PTA实验作业

1.1 7-8 输出三角形字符阵列

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

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

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

1.1.1数据处理

数据表达:定义了整型变量循环变量i,行数n,循环变量j,以及将n赋值的变量m,字符形变量op接收'A'
数据处理:
定义变量i,n,j,m,op
op赋值为'A'
m=n
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
输出op
op=op+1
}
换行
列数-1

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
4 题目示例
3 n为3时
2 n为2时

1.1.4 PTA提交列表及说明

说明:
1.部分错误:我将m--写在了第二个for里面,后来将它移至第一个for中第二个for后

1.2 7-3 梅森数

题目内容描述:
形如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 数据处理

数据表达:定义整型变量循环变量i和j,m为2^n-1的值,n为幂指数,count为个数,y为进入if的标志
数据处理:
定义变量i,j,m,n,count=0,y=0
for(i=2;i<=n;i++){
m=2^n-1
y=0
for(j=2;j<m;j++){
如果m可以整除除本身和1之外的数
则break
y=1
}
如果y=0
则输出m
标记count++
}
若count=0
则输出None

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
6 题目示例
2 3 当梅森数只有一个时
1 None 没有梅森数时
8 当梅森数有4个时

1.2.4 PTA提交列表及说明

说明:
1.部分错误:一开始使用的另一个方式只采取使用一个for然后用if分情况讨论,发现不可以采取,于是换成了现在这种模式
2.答案错误:因为写这道题时,在Dev c++上写了一遍,然后复制上去时忘记删除printf("Enter n:")了,后来删除了

1.3 7-4 同构数

题目内容描述:
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。

输出格式:
在一行中输出所有满足条件的同构数,每个数输出占6列。没有其它任何附加格式和字符。

1.3.1 数据处理

数据表达:定义了整型变量 n,i,m,n为1~1000中数字的平方值,i为1~1000中的数字,m为n的求余
数据处理:
定义变量 n,i,m
for(i=1;i<=1000;i++){
n=i*i;
情况1:i的值小于10
则m=n%10
如果m=i
则输出i
情况2:i的值>=10且<100
则m=n%100
若m=i
则输出i
情况3:i<=1000且i>=100
则m=n%1000
若m=i
则输出i

1.3.2 实验代码截图

1.3.3 造测试数据

输出数据 说明
1 5 6 25 76 376 625 i在1~1000范围内

1.3.4 PTA提交列表及说明

说明:
1.答案错误:一开始i没有分情况讨论,同意是将m=n%10来讨论,后面分类讨论
2.答案错误:用if将100之前的讨论出来后直接else,else的范围比实际想要的if(i<=1000&&i>=100)要大,后面直接去除else将if具体写出

2.代码互评

题目一:7-4 同构数

同学代码:来自计科一班彭齐家同学

自己代码:

不同:
1.彭齐家同学是将三个情况直接统计在了1个if中,而我的是将他们分开讨论

题目二:7-3 梅森数

同学代码:来自计科二班同学

自己代码:

不同:
1.她直接将None的情况n==1列出来,我的是通过计数来将None的情况列出来
2.她是将sum!=0的情况列出啦,而我的是通过y=0来将梅森数记录下来

3.学习总结

3.1 学习进度条

3.2 累积代码行和博客字数


3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

马上要考试了,然后肯定是很紧张的,这周因为身体原因,也没有过多去学习,所以多以专业知识的考试挺畏惧的,不过还是要相信自己。离考试时间也不多了,很多科目也要复习,但不能落下C语言科目,自己要多费心思在上面,对于自己疑惑的点要多去学习,多去复习,多看看相关资料,争取弄懂,然后这一周pta的作业中第一题不是很会,然后请教了同学指导,可能还是有点不太懂,争取弄懂,皇天不负有心人,相信只要自己肯付出,一定会有收获的,其实我在专业上面挺惫懒的,希望自己更加积极吧,对于之前学的函数可能还是自己的一大困惑点,争取早日攻破!加油!为伊消得人憔悴,在所不惜。

posted on 2019-11-29 14:12  我是太阳啊啊  阅读(326)  评论(0编辑  收藏  举报