C语言I博客作业08
C语言程序设计 | 2020级计科三班 |
---|---|
作业的要求 | 作业要求 |
作业的目标 | 对所写代码以及同学代码进行分析,总结以及本周的学习体会 |
作业帮助我实现目标的方面 | 让我对break,continue更加了解,对于错误地方进行总结 |
参考文献 | C语言程序设计 |
学号 | 20209028 |
1.PTA实验作业
- 请再此处列出自己的排名图片
- 从PTA题目集中选出2个你最满意的题目完成以下内容
1.1 7-1 显示指定范围内的素数
输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
输入格式:输入一个非0的整数。
输出格式:素数的输出格式为每个素数5列宽、右对齐、每行显示15个。
1.1.1数据处理
**数据表达**: 整型变量 i,m,x,a;
**数据表达式**: 赋值表达式,算术表达式,逻辑表达式;
**流程结构**: 选择结构,顺序结构,循环结构,运用了for语句,if-else语句;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
100 | 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 | 100以内的所有素数 |
568 | OVERFLOW | 数组最多只存放100个素数,568已超过541 |
1 | NO | 输入整数m<=2 |
1.1.4 PTA提交列表及说明
**部分正确**:在输出OVERFLOW时,没有正确理解“数组最多只存放100个素数”这句话的意思,误以为数组中只可以放100个数,后来仔细审题发现m应该大于541,因为541是第100个素数;
**部分正确**:取余的时候没有跳出循环,导致结果错误;
1.2 7-5 幸运彩票
彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入格式:输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。
输出格式:对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.。
1.2.1 数据处理
**数据表达**: 整型变量 N,i,x,a,b,c,d,e,f;
**数据表达式**:赋值表达式,算术表达式,逻辑表达式;
**流程结构**: 选择结构,顺序结构,循环结构,运用了for语句,if-else语句;
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 233008 123456 | You are lucky! Wish you good luck. | N=2 |
1 248097 | Wish you good luck. | N=1 |
3 278097 001011 210120 | Wish you good luck. Wish you good luck. You are lucky! | N=3 |
1.2.4 PTA提交列表及说明
**答案错误**:scanf语句中格式控制符错误,应写成%1d,试过取余,但结果还是错误。%1d表示以为十进制格式输出。
2.代码互评
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
同学1:
同学2:
自己代码截图
不同处:
我和同学1都用字符型和整型变量,但我的代码时for语句中嵌套if-else语句,而同学是if-else语句中嵌套for语句。
我和同学2的代码就没有很大的差别,主要是设的变量不同。
3.学习总结
3.1 学习进度条s
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/12.7-12.13 | 7小时 | 459行 | break,continue,双for语句 | 对于双for语句中的条件掌握的不是很好 |
3.2 累积代码行和博客字数 | ||||
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
感受:越来越感觉PTA作业的难度在增加,码代码的时间越来越长,有时候一道题要花1个多小时去修改,还可能改不对,现在特别能理解程序员为什么大多数都是秃头,希望我是一个例外吧。对于这门专业我还是很有兴趣的,继续加油吧。
4.1 C语言跳出多重循环的方法
1.使用goto;
2.写出函数return;
3.直接修改外层循环条件;
4.在外层循环设置判断条件;
5.在大循环后面判断标志加入break;