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行的代码,最后我也勉勉强强看懂了,而且最后代码也是我自己写出来的。

posted @ 2019-11-29 16:18  勋章  阅读(234)  评论(0)    收藏  举报