C语言I博客作业10

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

C语言I博客作业10_第1张图片

一、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实验代码截图

C语言I博客作业10_第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语言I博客作业10_第3张图片

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

1.2梅森数

形如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”。

输入样例:

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 实验代码截图

C语言I博客作业10_第4张图片

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 实验代码截图

C语言I博客作业10_第5张图片

1.3.3 造测试数据

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

1.3.4 PTA提交列表及说明

C语言I博客作业10_第6张图片

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

2.代码互评(5分)

同学代码(吴佳柳)

C语言I博客作业10_第7张图片

我的代码

C语言I博客作业10_第8张图片

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

同学代码(杨宇)

C语言I博客作业10_第9张图片

我的代码

C语言I博客作业10_第10张图片

相同点:都是分成了两部分,通过判断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

C语言I博客作业10_第11张图片

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

3.3.1 学习内容总结

C语言I博客作业10_第12张图片

3.3.2 学习体会

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

C语言I博客作业10_第13张图片

你可能感兴趣的:(C语言I博客作业10)