0.展示PTA总分

1.
2.

1.本章学习总结

1.1 1.1 学习内容总结

  • 循环结构:
  1. for语句:for(输入控制量;判断式;控制量改变)
  2. while语句:while(控制条件),只有不符合控制条件,才可以进入循环;同时也可以使用while(1),循环中使用return结束;
  3. do-while语句:先进入循环,然后再判断条件,适用于特定题目;
  4. break与continue语句:break直接破开循环,不再进行下列语句;continue破开本次循环,进入下次循环;

1.2 本章学习体会

  • 进入c语言已经一个多月了,目前的c语言从内容上并不难,更多的是基础内容,对我来说最难得是解题是面对不同题目需要应用的小技巧。正因为如此,面对很多题目,一没头绪,就不愿写下去了,到现在拖了等很多题目没写。所以希望从现在改变,把拉下的补起来。
  • 这两周代码量大概是500行。

2.PTA实验作业

2.1 7-2 梅森数

2.1.1 伪代码

数据处理:首先定义n作为输入数,再定义i作为循环变量,以及m作为判断是否为素数的中间量,最后number计算输出数;
代码:for()//让i从1到n累加,找出其中的素数
                  max//根据定义的所求最大值
                for()//计算是否为梅森素数 
                  判断条件
           if number==0计算输出个数
                 printf None;

2.1.2 代码截图

2.1.3 造测试数据

输入数据 输出数据 说明
5 3,7,31 正常数据
12 3,7,31,127 正常数据
30 3,7,31,127···-214846590···· 超过int的范围

2.1.4 PTA提交列表及说明

提交列表说明:
Q:没有理解题意,原以为输入pow(2,n)以内的素数
A:重新审阅了一遍题意,修改了代码;

2.2 7-7 换硬币

2.2.1 伪代码

数据处理:定义f5,f2,f1存入5分,2分,1分数,再用count记录种数,用input保存输入数;
代码:for f5=200;f5>0;f5--//保证f5由大到小输出
               if f5*5>input
           for f2=500;f2>0;f2--
                 if f2*2+f5*5>input//确保1分有分配的个数
                 f1=input-(f2*2+f5*5)
           printf .......
            sum++//输出种数

2.2.2代码截图

2.2.3 造测试数据

输入数据 输出数据 说明
6 3,4,6,6 正常数据
12 2,6,9,4 正常数据
20000 0 超出取值范围

2.2.4 PTA提交列表及说明

提交列表说明:
Q1:答案错误,一直输出1
A1:打代码时对相似内容用复制修改的方法,造成{}的混乱,加上两个{就好了
Q2:输出时,数据由小到大输出
A2:未充分理解题意,将f5,f2改为由理论最大值输入,再递减。

2.3 7-3 打印九九口诀表

2.3.1 伪代码

数据处理:定义输入数n,以及行数line,列数row
代码:for line=1;line<=n......//确定行数
                for row=1;........//内嵌循环,确定列数
                     printf.......//输出乘法表内容
                printf \n//换行

2.3.2 代码截图

2.3.3 造测试数据

输入数据 输出数据 说明
4 正常输出 正常数据
7 正常输出 正常数据
10000 运行超时 数据过大

2.3.4 PTA提交列表及说明


提交列表说明:
Q:一直输出1*1=1
A:内循环中没有嵌入i=0,导致不能进入循环

3.代码互评

同学代码截图
1.

2.

posted on 2019-10-20 22:50  飞白2020  阅读(198)  评论(1编辑  收藏  举报