C语言I博客作业08

| 这个作业属于哪个课程 | C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/ |
| 这个作标业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11610
|
| 我在这个课程的目标是 | 练习break与continue |
| 这个作业在那个具体方面帮助我实现目标 | 熟练break与continue,练习for语句 |
| 参考文献 | c语言程序设计(第三版) |
| 学号 | 20208950 | |
1.PTA实验作业

1.1显示指定范围内的素数 (10分)

输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
输入格式:
输入一个非0的整数。
输出格式:
素数的输出格式为每个素数5列宽、右对齐、每行显示15个。
1.1.1数据处理

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

1.1.2实验代截图

1.1.3造测试数据

输入数据 输出数据 说明
568 OVERFLOW 输入数据大于100 个素数
1 NO 输入数据小于2
5 2 3 5 正整数5内的素数

1.1.4 PTA提交列表及说明

提交列表说明
1.部分正确:for(t=2;t<=m;t++),for(i=2;i<=n;i++)中2写成1;
2.多种错误:if(count%15==0)中15写成10;if(m<=4&&m>0)中4写成2;
3.答案错误:if(m>541)中541写成100;

1.2幸运彩票 (15分)

彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入格式:
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。
输出格式:
对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.。

1.2.1 数据处理

数据表达:定义三组整型变量a,s,d,f,g,h,i,n,输入n的值;进入for循环,输出asdfgh的值,if判断asd的和是否等于fgh的和
         最后输出
数据处理:表达式:算术表达式,关系表达式,
         流程结构:定义整型变量a,s,d,f,g,h,i,n;输入n的值;
                  for循环for(i=1;i<=n;i++)在输入其他六个数的值scanf("%1d%1d%1d%1d%1d%1d",&a,&s,&d,&f,&g,&h);
                  if判断if(a+s+d==f+g+h),符合条件则输出You are lucky!
                  不符合条件则输出Wish you good luck.

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
2 233008 123456 You are lucky! Wish you good luck. 第一组符合要求,第二组不符合要求
1 346788 Wish you good luck. 不符合要求
1 146191 You are lucky! 符合要求

1.2.4 PTA提交列表及说明

提交列表说明
1.编译错误:定义变量太多,某个变量写错
2.答案错误:scanf("%1d%1d%1d%1d%1d%1d",&a,&s,&d,&f,&g,&h);%1d写成%d
2.代码互评
同学代码截图

我的代码截图

对比:我选的是一个代码两个同学的做法
1.同学1代码定义的变量少,方便,不容易混,他主要是用两个for循环完成操作
2.同学2和我代码不同之处是他先把0赋值给六位数,然后进行for循环

3.学习总结
3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 10 15 简单知识点
第九周 12 34 if-else语句
第十周 12 102 循环语句 复杂循环语句
第十一周 13 200 温度转换表,乘方表阶乘 不太熟
第十二周 12 253 多分支结构,字符型变量 不熟练
第十三周 12 302 switch-case 总体还行
第十四周 10 419 do-while 复杂的不会
第十五周 12 511 break与continue 不太会
3.2 累积代码行和博客字数
时间 字数 代码行数
第八周 1010 15
第九周 1643 34
第十周 2673 102
第十一周 3566 200
第十二周 3679 353
第十三周 4503 456
第十四周 5421 511
第十五周 7137 601

3.3 学习内容总结和感悟
3.3.1学习内容总结

3.3.2学习体会
这周学习的break和continue,在课上经过老师的指引觉得这些还可以接受,但是觉得PTA的作业中运用起来很困难
有一些不太会。多查资料多问同学,争取弄懂所有题目。
如何跳出多重循环:
1.使用goto,它可以快速跳出多重循环
2.写成函数return,我这次PTA作业中第一题显示指定范围内素数就用了return,符合条件就直接跳到return;
3.直接修改外层循环条件
4.在外层循环设置判断条件,比如外层flag=0;内层如果符合条件则flag=1;跳出循环
5.在大循环后面判断标志加入break。

posted @ 2020-12-14 17:11  欢丰子  阅读(324)  评论(8编辑  收藏  举报