C语言I博客作业08

1.PTA实验作业(20分/题)

1.1 题目名 :7-5 幸运彩票 (15分)

题目描述:彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。

输入格式:
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。

输出格式:
对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.。

输入样例:
2
233008
123456
输出样例:
You are lucky!
Wish you good luck.

1.1.1数据处理

数据表达
1.变量N:整型,由输入得来;
2.变量sum1:整型,由输入得来;
2.变量sum1:整型,由输入得来;
3.变量i,j,m,s,w:整型,有赋值得来。
数据处理:
表达式:赋值表达式,关系表达式,算数表达式;
流程结构:while循环,for循环。;if语句;

1.1.2实验代码截图

1.2.3 造测试数据

1.1.4 PTA提交列表及说明


遇见的问题:
1.答案错误:忘记要把sum1和sum2相加;
2.部分正确:输入值有问题,没直接定义了只有六位数的值,假如输入值为个位数,那么我这个代码就不成立;
解决方式:
1.把sum1和sum2相加;
2.直接定义彩票只有六位数,从而解决问题;

1.2 题目显示指定范围内的素数 (10分)

题目描述:输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

输入格式:
输入一个非0的整数。

输出格式:
素数的输出格式为每个素数5列宽、右对齐、每行显示15个。

输入样例:
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
输入样例:
568

1.2.1 数据处理:

数据表达:
定义整型变量count,i,n,m,j,把0赋值给count,输入m的值,先用if判断输入值是否符合题目要求,
for与if判断是否为素数,按格式输出
数据处理:
表达式:逻辑表达式,赋值表达式,关系表达式
流程结构:定义整型变量count,i,n,m,j,将count赋值,count=0;
输入m的值,判断输入值是否在100内或小于等于2;if(m>541),if(m<=4&&m>0);符合则return 0;
不符合则for循环for(j=2;t<=m;j++);for(i=2;i<=n;i++);
count++累计输出素数个数;
按格式输出;

1.2.2 实验代码截图

1.2.3 造测试数据

1.2.4 PTA提交列表及说明


遇见的问题:
1.部分正确:按照我这个错误方法,只能得出范围内的所有素数,而没有固定范围内的素数
解决方式:
1.直接把素数只能累加到100的范围确立好;

2.代码互评(5分)

同学代码:

自己代码截图

不同之处:
答:
1.第一个同学定义变量太多,容易某个变量写错,而我的比较简单
2.第二个同学的代码和我大同小异,只不过他的代码很简单明了,而我的代码比较复杂;

3.学习总结(15分)

3.1 学习进度条(5分)

3.2 累积代码行和博客字数(5分)


3.3 学习内容总结和感悟(5分)

3.3.2 学习体会

1.有点遗忘以前的知识点了,以至于对于pta上的题目有点力不从心,还有这周的刚学break和continue运用的还是不太熟,还需要多加打代码加深熟悉度
如何跳出多重循环:
1.使用goto,它可以快速跳出多重循环
2.写成函数return,我这次PTA作业中第一题显示指定范围内素数就用了return,符合条件就直接跳到return;
3.直接修改外层循环条件
4.在外层循环设置判断条件,比如外层flag=0;内层如果符合条件则flag=1;跳出循环
5.在大循环后面判断标志加入break。

posted @ 2020-12-20 15:16  陈兴  阅读(410)  评论(9编辑  收藏  举报