C语言I博客作业10
C语言I博客作业10
-
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 别点链接 我在这个课程的目标是 学好C语言,学会基础的编程 这个作业在那个具体方面帮助我实现目标 练习并熟练编程 参考文献 《Dev-C++》《PTA作业》
1.PTA作业

1.1梅森数
题目内容描述

1.1.1 数据处理
- 数据表达:
用的都是整型变量,n指输入的整数,i,j用于for循环,m代指梅森数,s和count都用于累加,判断有无。 - 数据处理:
read n
n←0 to 20
count←0
for (i←2 to n) /*i从2循环至n*/
do m←2^i-1
s←0
for (j←2 to m) /*j从2循环至m*/
do if(m/j←0) /*如果m除以j等于0*/
then s←s+1 end /*累加s*/
else if(s←0) /*如果s=0*/
then output m /*输出m*/
count←count+1
end
if(count←0) /*若count=0*/
then output None /*输出None*/
1.1.2 实验代码截图


1.1.3 造测试数据
- | 输入数据 | 输出数据 | 说明 |
| ---: | :---: | :---: |
|2 | 3 | 不超过2^2-1的梅森数 |
|4 | 3 7 | 不超过2^4-1的梅森数 |
|8 | 3 7 31 127 | 不超过2^8-1的梅森数 |
|16 | 3 7 31 127 8191 | 不超过2^16-1的梅森数 |
1.1.4 PTA提交列表及说明

提交列表说明:
- 1.答案错误:就是把m=pow(2,i)-1;写成了m=pow(i,2)-1;结果肯定就是答案错误。
- 2.部分正确:经常习惯性的把if(m%j0)写成if(m/j0)而且还很难发现。
1.2 同构数
题目内容描述

1.2.1数据处理
- 数据表达:
定义整型变量i,m,i用于从1-1000循环累加,m指i的平方。 - 数据处理:
for(i←1 to 1000) /*i从1循环至1000*/
do if(i←0 to 10&&m/i←0) /*若属于0-10且m除以i等于0*/
then output i
else if(i←10 to 100&&m/i←0) /*若属于10-100且m除以i等于0*/
then output i
else if(i>←100&&m/i←0) /*若大于100且m除以i等于0*/
then output i
end
1.2.2实验代码截图

1.2.3 造测试数据
- | 输入数据 | 输出数据 | 说明 |
| ---: | :---: | :---: |
| | 1 5 6 25 76 376 625 | 1-1000內的所有同构数 |
1.2.4 PTA提交列表及说明

提交列表说明:
- 1.答案错误:开始运行之后只能输出1,循环在输出1之后就结束了,后来就直接把i<=n的n改成1000,就是去掉一个变量n。
2.代码互评
同学代码截图

自己代码截图

- 1.他的代码定义了4个整型变量和一个字符,而我的代码只有两个变量和一个字符。
- 2.他用的是两个for循环,而我用了一个while循环和一个for循环,个人认为这个代码用一个while循环更简单。
- 3.他的输出是用的printf,这样就可以直接在后面输出一个空格,而我用的是putchar,所以得另起一行用printf输出一个空格。
同学代码截图

自己代码截图

- 1.首先他的代码用了一些不常见的东西,我都有点看不懂,而我用的都是学非常熟悉知识。
- 2.他的代码用了一个调用函数,可以说是非常厉害了,但是用多重for循环比用调用函数更加简单方便。
- 2.由于用了调用函数,所以定义的变量就会很多,结尾也要用到return 0,return 1等等用来返回主函数。
3.学习总结
3.1 学习进度条
- |周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
| ---: | :---: | :---: | :---: | :---: |
|1/9 17-9 20|10h|36|在屏幕上显示“Hello World”|不懂这个是个什么意思|
|2/9 24-10 4|12h|24|学会了基本的编译框架|还是不太看得懂|
|3/10 8-10 11|12h|90|学会了if-else语句|输入与输出语句不太会用|
|4/10 15-10 18|20h|70|学会了for语句,对整体也更加了解|double和int还是有点分不清|
|5/10 22-10 26|15h|88|学会了调用一个自定义函数|对自定义函数的概念还很模糊|
|6/10 29-11 02|20h|160|这周学会了if-else多分支语句|switch语句还是不太会用|
|7/11 05-11 08|15h|140|学会多分支语句switch语句|case后面接的表达式类型不太清楚|
|8/11 12-11 15|15h|120|while与do-while循环语句|while不知道怎么用|
|9/11 19-11 21|15h|100|break,continue,多重for循环语句|不太懂continue的意思|
|1011 26-11 29|10h|124|温习所有语句|循环语句还是不太会用|
3.2 累积代码行和博客字数


3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
就是这周的作业感觉第一题真的是有点难,有点超出我的脑洞范畴了,而且还只有10分,这让我有点怀疑人生,我写也写了特别久,但还是没有做出来,于是便在网上搜了一下,原来真的有这么难,将近50行的代码,最后我也勉勉强强看懂了,而且最后代码也是我自己写出来的。

浙公网安备 33010602011771号