C语言I博客作业08
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11613 |
这个作业的目标 | 熟悉break、continue的使用, 熟悉使用循环的嵌套解决问题 |
学号 | 20209051 |
1.PTA作业
1.1 字符菱形
根据读入的字符和边长,勾画字符菱形。
输入格式:
输入数据含有若干组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 以键盘输入^Z或遇到文件结束符时结束数据输入。
输出格式:
输出以c为填充字符,边长为n的菱形,每个菱形之后都输出一个换行符。
1.1.1 数据处理
数据表达:n,c,j,i为整型变量,n直接输入c,j,i初次定值后累加或累减;op为字符变量,直接输入;
数据处理:
表达式:j=n-i;c<=2*i-1;c<=2*(n-i)-1
流程结构:if条件判断,do-while循环;for 循环
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
A 5 B 3 | 无错误 | |
C 6 D 3 | 正常 |
1.1.4PTA提交列表及说明
说明:
多种错误:while条件错误,scanf输入的位置错误,更正错误
部分正确:条件判别顺序错误,更正错误
运行超时:无法跳出循环,未设置结束条件,加上结束条件
1.2 显示指定范围内的素数
输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
输入格式:
输入一个非0的整数。
输出格式:
素数的输出格式为每个素数5列宽、右对齐、每行显示15个。
1.2.1数据处理
数据表达:m,count,i,j,flag都为整型变量,flag直接赋值;i,j,count初次赋值后累加,m直接赋值
数据处理:
表达式:count%15 == 0;j<=i/2
流程结构:if-else循环;for循环;
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
50 | 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 | 素数个数未超过100个 |
1 | NO | m小于2 |
555 | OVERFLOW | 素数个数超过100个 |
1.2.4PTA提交列表及说明
说明:
编译错误:格式错误
部分正确:条件判断错误,部分条件缺失,改正错误部分,补全条件
2.代码互评
同学代码:
(1)
(2)
我的代码:
1. 同学(1)的代码十分简洁,依旧是我看到了很多次想先去学一下但是还是没有去的数组。
2. 同学(2)的解题思路和我的差不多,但是我用的switch语句去判断代码更加简洁一些。
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十五周 | 37h | 389 | break语句,continue语句;嵌套循环 | 题目条件的判别顺序 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总计
3.3.2学习感悟
- 对于老师上次在课堂上的问题:如何跳出多个循环的其他办法?我找些资料,就找到了一个goto语句,具体的用法还不是特别清楚,但是知道goto可以直接跳到最外层的循环,而我们现在学到的break和continue是不行的。
- 要考试了加油复习,现在写PTA的时候发现,知识点不怎么用就容易忘记。