||
--|:--:
这个作业属于那个课程|C语言程序设计II
这个作业要求在哪里|作业 我在这个课程的目标是|可以回顾一下以前所学的知识
这个作业在那个具体方面帮助我实现目标|对以前的知识进行回顾了一下
参考文献|C语言程序设计(第3版),百度

1.PTA实验作业 输出三角形字符阵列

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

1.1

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

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

输入样例:

4

输出样例:

A B C D 
E F G 
H I 
J

1.1.1数据处理:

数据表达:定义了变量i, j, n,op;i, j是用来控制循环,n是用户输入数据,op是为了输出字符;i, j, n,是整形变量,op是字符型变量。 数据处理:

定义变量i, j, n,op;其中i, j是用来控制循环,n为正整数n(1≤n<7),op是定义字符变量。
	输入正整数n(1≤n<7)
	if (判断1≤n<7是否成立) {
		for (确定行数) {
			for (确定列数) {
				输出从A开始的字符,并利用ASCII码值进行字符的变换。
			}
			换行
		}
	}
	
}

1.1.2实验代码截图

输出三角形字符阵列python 输出三角形字符阵列pta_测试数据

1.1.3 造测试数据

输入数据

输出数据

说明

6

输出三角形字符阵列python 输出三角形字符阵列pta_数据处理_02

输出6行字符

1

输出三角形字符阵列python 输出三角形字符阵列pta_数据_03

输出1行字符

3

输出三角形字符阵列python 输出三角形字符阵列pta_输出三角形字符阵列python_04

输出3行字符

1.1.4 PTA提交列表及说明

输出三角形字符阵列python 输出三角形字符阵列pta_数据_05

** 我在VS上面运行无误后直接复制粘贴 **

1.2 梅森数

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

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

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

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

输入样例:

6

输出样例:

3
7
31

1.2.1 数据处理

数据表达: 定义了变量n,j,m,i,count ;n是用户输入数据,i,j,count是直接赋值,m是用来储存2^i-1的结果;n,j,m,count是整形变量。 数据处理:

定义变量n,j,m,count;n是正整数n(n<20),i,j拿来控制循环,count用来判断是否有梅森数的存在,m是用来储存2^i-1的结果。
	for (判断i与n的大小) {
		储存数据
		for (对储存数据判断是否为素数) 
			if (如果不是素数) {
				跳出循环;
			}
		if (正常结束循环) {
			输出结果并换行;
                对count赋另外的值
		}
	}
	if (如果count不变)
		输出None
}

1.2.2实验代码截图

输出三角形字符阵列python 输出三角形字符阵列pta_数据_06

1.2.3 造测试数据

输入数据

输出数据

说明

3

输出三角形字符阵列python 输出三角形字符阵列pta_输出三角形字符阵列python_07

3是判断进行2^n-1的次数

5

输出三角形字符阵列python 输出三角形字符阵列pta_输出三角形字符阵列python_08

5是判断进行2^n-1的次数

7

输出三角形字符阵列python 输出三角形字符阵列pta_输出三角形字符阵列python_09

7是判断进行2^n-1的次数

1.2.4 PTA提交列表及说明

输出三角形字符阵列python 输出三角形字符阵列pta_数据_10

我在VS上面运行无误后直接复制粘贴

1.3 同构数

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

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

1     5     6    25    76   376   625

1.3.1 数据处理

数据表达: 定义了变量i, n ;i在循环中直接赋值,n是储存数据;i, n都是整形变量 。 数据处理:

定义变量i,n;i是用来判断循环次数
	for (确定循环次数)
	{
		数据减掉原来的数,并储存数据
		if (判断10以内的同构数) {
		输出同构数;
                跳过后续操作	
		}
		if (判断100以内的同构数) {
			输出同构数;
                跳过后续操作	
		}
		if (判断1000以内的同构数) {
			输出同构数;
                跳过后续操作	
		}
	}
}

1.3.2实验代码截图

输出三角形字符阵列python 输出三角形字符阵列pta_数据_11

1.3.3 造测试数据

输入数据

输出数据

说明


1 5 6 25 76 376 625

输出1000以内的同构数

1.3.4 PTA提交列表及说明

输出三角形字符阵列python 输出三角形字符阵列pta_数据_12

2.代码互评

同学代码截图:

输出三角形字符阵列python 输出三角形字符阵列pta_数据_13

同学代码截图:

输出三角形字符阵列python 输出三角形字符阵列pta_测试数据_14

自己代码截图:

输出三角形字符阵列python 输出三角形字符阵列pta_数据处理_15

1.第一个同学:第一位同学的代码和我的代码风格大致相同,不同之处在于我比他多了一个判断输入的if条件语句,并且该同学的内部循环用j=i,我觉得这比较方便,思维比较好;
2.第二位同学: 第二位同学的外部循环是先把i=n,然后在进行累减,我的是进行累加,而且这位同学输出字符用的是putchar,我用的是printf,虽然putchar,比较正规,但我觉得printf比较方便;
3.总体来说:上面两位同学的代码和我的代码在风格上都有所不同,不同的人写相同的题目,由于思维角度的不同,从而有不同的代码风格,我要在那些比较好的代码行中吸取经验。

3.学习总结

3.1 学习进度条

周/日期

这周所花的时间

代码行

学到的知识点简介

目前比较迷惑的问题

第四周

4h

9

makedown语法

对于C语言知识不太了解

第五周

11h

121

输入和输出

一些基本的格式

第六周

16h

187

ig-else语句

对于一些格式不是不懂

第七周

17h

342

markdown语法和if-else语句

对于变量还是不能很好的掌握

第八周

17h

121

定义两个变量,对for循环有更进一步的了解

对于基本知识还是不够扎实

第九周

20h

178

while循环,定义和调用函数

对于定义和调用函数还是不怎么了解

第十周

18h

143

for循环和if-else语句之间嵌套

读完题目后大脑里面没有相应的代码

第十一周

17h

193

switch可以处理多分支问题

对于编程题不能很快的写出代码

第十二周

15h

156

新学了do-while循环,了解了for,while,do-while循环之间的区别,并对在相应环境用最合适的循环有了初步认识

题目做的比较慢,一些基本知识还是不够扎实

第十三周

16h

183

学到了嵌套循环和break,continue语句

不能很好的把所学的东西交叉运用

第十四周

19h

213

对以前所学的东西进行了一定程度上的复习

对以前所学的东西不能灵活应用

3.2 累积代码行和博客字数

时间

博客字数

代码行数

第四周

323

76

第五周

783

154

第六周

1542

204

第七周

2131

293

第八周

2831

387

第九周

4017

429

第十周

5066

463

第十一周

6145

573

第十二周

7260

683

第十三周

8434

813

输出三角形字符阵列python 输出三角形字符阵列pta_数据处理_16

3.3 学习内容总结和感悟

3.3.1 学习内容总结

输出三角形字符阵列python 输出三角形字符阵列pta_输出三角形字符阵列python_17

3.3.2 学习体会

1.通过此次作业我对以前所学的东西复习了一下,我发现以前学的东西忘记了许多,可能是我一直在往前面赶进度的原因,平时很少回顾以前的知识点,现在我认为在往前面看新知识的同时要拿出一点时间来回顾一下以前的东西;
2.我需要多看点有关IT方面的知识,其他有些同学都已经学了好多知识了,而我一直在跟着老师的脚步,我需要提高一定的学习效率了;
3.希望自己能一直坚持下去,多学点知识。