一、本周教学内容&目标
第4章 循环结构 4.5 综合介绍循环结构的程序设计,涉及到多个典型算法。要求学生能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序。
二、本周作业头
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的作业中第一题不是很会,然后请教了同学指导,可能还是有点不太懂,争取弄懂,皇天不负有心人,相信只要自己肯付出,一定会有收获的,其实我在专业上面挺惫懒的,希望自己更加积极吧,对于之前学的函数可能还是自己的一大困惑点,争取早日攻破!加油!为伊消得人憔悴,在所不惜。