||
---|:--😐:---
这个作业属于那个课程|C语言程序设计II
这个作业要求在哪里|C语言I作业10
我在这个课程的目标是|掌握老师所教知识,熟练自学知识
这个作业在那个具体方面帮助我实现目标|熟练掌握镶嵌及字符型
参考文献|《C语言教材》

一、PTA作业(20分/题)

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

输入格式;

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

输出格式:

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

输入样例:

4

输出样例:

A B C D 
E F G 
H I 
J                                 

1.1.1数据处理

数据表达:定义了整形i,j,n以及字符型变量c,c是输出的字母n是字母的行数。

数据处理:定义整形i,j,n,字符型变量c,c是输出的字母n是字母的行数。
把A赋值给c;
输入n;
for i递加
{
    for j 递加
    {
        输出c;
        c++;
    换行;

1.1.2实验代码截图

1.1.3 造测试数据

||
|:--😐-|:--😐
输入数据|输出数据|说明
5|A B C D E
F G H I
J K L
M N
O|输出5行由大写字母A开始构成的三角形字符阵列。
4|A B C DE F G
H I
J|输出4行由大写字母A开始构成的三角形字符阵列。
3|A B C
D E
F|输出3行由大写字母A开始构成的三角形字符阵列。

1.1.4 PTA提交列表及说明

格式错误:两次都是输出的%c后边没加空格,第一次没发现。

1.2梅森数

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

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

输入格式:

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

输出格式:

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

输入样例:

6

输出样例:

3
7
31

1.2.1 数据处理

数据表达:定义了整形变量n,m,i,j,x=0,n是用户输入的数,i用来保存输出梅森数,j和m用来控制循环
数据处理:定义整形变量n,m,i,j,x=0,n是用户输入的数,i用来保存输出梅森数,j和m用来控制循环
输入n
if  n<2
{
   输出 None
}
for  m的递增
{ 
     将m的平方赋值给i
     for   i的递增
     {
           if i除以j取余等于0
           x++
     }
     if  x等于0
    
         换行输出 i
     x=0刷新x的值


1.2.2 实验代码截图

1.2.3 造测试数据

||
|:--😐-|:--😐
输入数据|输出数据|说明
8|3
7
31
127|按从小到大的顺序输出所有不超过2^8−1的梅森数
6|3
7
31|按从小到大的顺序输出所有不超过2^6​​−1的梅森数
4|3
7|按从小到大的顺序输出所有不超过2^4​​−1的梅森数

1.2.4 PTA提交列表及说明

编译错误:两次都是定义主函数的后边没打括号,还有输入的时候中间打了个句号,最后是在Dev-c++上发现的问题。

1.3同构数

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

输入格式;

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

输出格式:

   1     5     6    25    76   376   625

1.3.1 数据处理

数据表达:定义了整形i,j,n;i用于for循环,n为输入的数,j是n的平方。
数据处理:定义整形i,j,n;i用于for循环,n为输入的数,j是n的平方。
开始
定义整形
for i的递增
{
    将i赋值给n;
    n的平方等于j;
    if  n==j%10||n==j%100||n==j%1000  /*判断是否n为同构数/*
    输出
}
结束

1.3.2 实验代码截图

1.3.3 造测试数据

||
|:--😐-|:--😐
输入数据|输出数据|说明
无 |1 5 6 25 76 376 625|不需要输入,直接输出了

1.3.4 PTA提交列表及说明

答案错误 1:n==j%1000少打了个0。
答案错误 2: 少了个n=i,也就是说我后边n的值一直没有变。后边大脑仔细运行了一遍发现了。

2.代码互评(5分)

同学代码(吴佳柳)

我的代码

相同点:
都是用计算位数的方法然后求余来判断是否为同构数。
不同点:
1.他是自定义函数求平方,用for来计算求余除的数。
2.我是用了一个for循环一个一个的找出1000内的同构数。
注:我的代码简单的和直接输出没多大区别,看着与神仙的差距,我无地自容了。

同学代码(杨宇)

我的代码

相同点:都是分成了两部分,通过判断i%j是否为0来判断是否为素数。
不同点:开始我是n<2,他是n=1来排除None的情况,然后它使用了个break语句来跳出循环。
总体来讲我的要计算的更多,效率低上不少。

三、学习总结(15分)

3.1 学习进度条(5分)

||
---|:--😐:--😐:--😐---
周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
第四周|10|0|在屏幕上显示Hello World!|无
第五周|14|0|求华氏温度对应的摄氏温度|无
第六周|21小时|247行|如何用 MinGW-w64 来编译C程序|无
第七周|7小时|118行|二分支结构|无
第八周|6小时|100行|掌握使用for循环语句实现指定次数的循环程序设计|无
第九周|9小时|124行|学会使用自定义函数|对于函数的返回,不是很理解
第十周|16小时|216行|字符型数据类型和自定义函数|对字符型不怎么了解
第十一周|20小时|258行|学习了switch语句|对switch后边括号里的变量怎么定义
第十二周|8小时|198行|自己摸索了下数组,学习了while语句|对括号内定义不明确
第十三周|13|221|break与continue语句|不太会使用continue
第十四周|21|245|镶嵌结构与字符型|都不熟,小白都不算qaq

3.2 累积代码行和博客字数(5分)

||
---|:--😐:---
时间|代码行数|博客字数
第四周|0|331
第五周|0|331
第六周|247|1109
第七周|365|2246
第八周|465|3416
第九周|589|3826
第十周|805|5126
第十一周|1063|6874
第十二周|1261|8241
第十三周|1485|9898
第十四周|1730|12262

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

本周没上新课虽然,但还是比以前更实用,随着时间的推移,发现我和大佬们的差距已经拉的非常大了,自学真的太重要了,跟着老师的步子走,只会落后的越来越多,而且知识学完后一定要找时间做题复习,学会跟掌握的区别就在这里。
注:哪些星期三8点前交的,要不要给我们这些萌新留个活路啊啊啊啊啊啊。