C语言I博客作业10

坚强是说给别人听的谎言 提交于 2019-12-06 00:45:10
问题 回答
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I博客作业10
我在这个课程的目标是 掌握所学的C语言知识
这个作业在那个具体方面帮助我实现目标 完成PTA,从中学习
参考文献 Markdown基本语法

一、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开始构成的三角形字符阵列。

1.1.4 PTA提交列表及说明

编译错误:;字符型定义变量打成了"",下次多加注意

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
if  n<2
{
   输出 None
}
for  递增
{ 
     将m的平方赋值给i
     for   i的递增
     {
           if i除以j取余等于0
           x++
     }
     if  x等于0
    
         换行 i
     重新赋值x

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
8 3
7
31
127
按从小到大的顺序输出所有不超过2^8−1的梅森数
6 3
7
31
按从小到大的顺序输出所有不超过2^6​​−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 直接输出

1.3.4 PTA提交列表及说明

 少了个n=i

2.代码互评(5分)

同学代码

我的代码

都是用计算位数的方法然后求余来进一步判断是否为同构数。
不同之处:
他是自定义函数求平方,用for语句来计算求余除的数。我用了for循环挨个找出1000内的同构数。

同学代码

我的代码

分成两部分后,通过判断i%j是否为0来判断是否为素数。
开始是n<2,用n=1来排除None这种情况,这位同学用了break语句来跳出循环。

三、学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 20小时 247行 运用 MinGW-w64 来编译C程序
第七周 7小时 118行 学会了if-else语句
第八周 6小时 100行 掌握使用for循环语句实现指定次数的循环程序设计
第九周 9小时 124行 学会使用自定义函数 特殊符号的运用不太明白
第十周 16小时 216行 字符型数据类型和自定义函数 对字符型不怎么了解
第十一周 20小时 258行 学习了switch语句 switch语句用不熟练
第十二周 8小时 198行 学习了while语句,do-while语句 对括号内定义不明确
第十三周 13 221 break与continue语句 不太会使用continue
第十四周 21 245 学习了嵌套语句 还在摸索中,用不熟练

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

时间 代码行数 博客字数
第六周 245 1107
第七周 364 2235
第八周 467 3457
第九周 549 3826
第十周 845 5126
第十一周 1023 6874
第十二周 1241 8241
第十三周 1415 9898
第十四周 1722 9422

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

3.3.1 学习内容总结

3.3.2 学习体会

作业难度依次在增加,如果只是跟着老师的节奏,只会落后的越来越多,课后多作巩固,才能熟能生巧。和大佬的差距落下很多,自学能力还不够。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!