C语言第四次博客作业

时间:2022-12-06 20:41:28

一、PTA实验作业

题目1.梅森数

1.本题PTA提交列表(要提交列表,不是结果)

C语言第四次博客作业

2. 设计思路(此处用流程图最好)

1.定义三个变量n,num,count,且初始化count为1

2.读取一个数n

3.初始化整型变量i=1

4.当i<=n时,执行5,否则执行14

5.num = 2的i次方减1

6.调用isprime(int num)函数

7.进入isprime函数,当num为1时,返回值0,否则执行8

8.初始化k=2

9.当k<=num/2时,执行10,否则,执行12

10.判断num%k是否为0,若是,返回值0,否则返回值1

11.k++,返回9

12.判断返回值为1还是0,若是1,输出该数,并且count++

13.i++,返回4

14.判断count是否为0,若是,输出None,结束程序

3.本题调试过程碰到问题及解决办法

1.pow和sqrt里面数据类型的使用应该是(double,int),但在新版本vs和devc里面却不用刻意表示为该形式。我强制类型转换后,导致我的代码不能通过pta

2.count的使用,感觉有点麻烦,应该会有更简洁的写法来判断输出的个数是否为0

题目2.歌唱比赛评分系统

1.本题PTA提交列表(要提交列表,不是结果)

C语言第四次博客作业

2.设计思路

1.定义三个整型变量n,repeat和temp和一个浮点型变量average

2.读取repeat

3.定义一个数组marks【10】用来存放评分

4.定义个整型变量k=0

5.当k<repeat时,定义一个整型变量sum且初始化为0,否则,结束程序

6.读取一个n

7.定义一个整型变量i且初始化为0

8.当 i <n时,执行9,否则执行14

9.定义一个整型变量j且初始化为i,

10.当j<n时,执行11,否则执行13

11.判断marks【i】和marks【j】的大小,若是marks【i】<marks【j】,利用temp交换两个变量的值

12.j++,返回10

13.i++,返回8

14.初始化i=1,当i<n-1时,执行15,否则执行16

15.sum+=marks【i】,i++,返回14

16.average=sum/(n-2),输出average

17.k++,返回5

3.本题调试过程碰到问题及解决办法

1.sum的值没有在每个循环中都初始化,导致第1组以后的平均数都不正确

2.这题我用了数组来存放数据,还不是很熟练,可与下一题联系

3.题意理解错误是最难受的。就不多说明了

题目3.餐饮服务质量调查打分

1..本题PTA提交列表(要提交列表,不是结果)

C语言第四次博客作业

2.设计思路

1.定义三个变量n,repeat和x(存放打分的等级)

2.读取一个整数repeat

3.定义一个整型变量k且初始化k=0

4.当k<repeat时,执行5,否则结束程序

5.读取n的值

6.定义一个输出a【20】且初始化为0

7.定义一个整型变量i 且初始化为0

8.当i<n时,执行9,否则执行13

9.读取打分等级x

10.用switch来判断x的值

  1. case 1: a[0]++;break;

    case 2: a[1]++;break;

    case 3: a[2]++;break;

    case 4: a[3]++;break;

    case 5: a[4]++;break;

    12.i++,返回8

    13.初始化i=0

    14.当i<=5时,执行15,否则k++,返回4

    15.输出i+1: 作为输出格式

    16.定义一个整型变量j且初始化为0

    17.当k<a【i】时,执行18,否则,i++,返回14

    18.输出 *,且printf(“\n”),j++,返回17

3.本题调试过程碰到问题及解决办法

1.参照上题,这题更加简单,且数组的使用更加灵活

2.打印的格式需要注意

3.switch的使用也很合理方便(被人提醒才使用它)

二、同学代码结对互评

1.同学名字:张弛

2.我的代码、互评同学代码截图

题目1.

C语言第四次博客作业

C语言第四次博客作业

题目2

C语言第四次博客作业

C语言第四次博客作业

题目3.

C语言第四次博客作业

C语言第四次博客作业

3.代码分析

1.题目1中我的代码用了自定义函数,结构上看着更加清晰,而他的代码量更加少,flag的使用也很灵活。在这种少量代码的题目上,他的代码会比我的更加优秀,但是在以后代码量大的情况下,我的代码就会比他的更好阅读。

2.题目2我和他的想法大同小异,只是我用的是for循环 他用的是while循环

3.题目3我们都是用了数组来存放数据,这种做法基于现在可能会很好用,但我也觉得是目前的内容自己没有完全掌握。嵌套循环的题目是真的烧脑,需要多做练习。

三、截图本周题目集的PTA最后排名。

C语言第四次博客作业

四、本周学习总结、

1.你学会了什么?

1.自己学会了用数组

2.学会了冒泡排序法

3.嵌套循环的使用更加得心应手了

4.函数的使用也会简单的运用了

2.本周的内容,你还不会什么?

1.题目的阅读理解需要加强

2.嵌套循环的题目需要多理解,多想象

3.打印菱形的那个题目是真心觉得难