C语言I博客作业08
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业属于哪个课程 | [课程的链接]( |
这个作业的要求在哪里 | 作业的链接 |
我在这个课程的目标是 | 熟悉多分支结构switch语句的使用,自定义函数。学习指针,使用fgets |
这个作业在哪个具体方面帮助我实现目标 | 熟练使用循环结构,发现自己不足,补充自己知识点,提高理解、实践能力 |
参考文献 | c语言程序设计(第三版) |
学号 | 20208922 |
1.PTA实验作业(20分/题)
1.1显示指定范围内的素数
题目内容描述:输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
1.1.1数据处理
数据表达:定义了m, n, i, j四个整形变量。 数据处理:运用了if else语句(伪代码如下) 若(m<=2) 输出(“否”); 如果(m>541) 输出(“溢出”); 其他对于(i=2;i<=m;i++) 如果(i=2) 输出(“%5d”,i); N++; 用于(j=2;j<i;j++) if(i%j==0) 中断 若(i=j) 输出(“%5d”,i); N++; 如果(n%15=0){ 输出(“\n”); 以此判断0~m有几个素数。
1.1.2实验代码截图
1.1.3造测试数据
输入样例 | 输出样例 | 说明 |
---|---|---|
50 | 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 | 1~50之间有十五个素数 |
1 | NO | 输入的m<2,没有素数 |
600 | OVERFLOW | 1~600中的素数数量超过了数组所能储存的最大数量 |
1.1.4PTA提交列表及说明
提交列表:
提交列表说明:部分正确:题目要求素数的输出格式为每个素数5列宽、右对齐、每行显示15个,而我在输出的时候写成了("%d",i),应该是printf("%5d",i)。
1.2 一钱生多钱
题目内容描述:在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
1.2.1数据处理
数据表达: i,j,n,five,two,one,sum六个整形变量,且令five,two,one等于1。sum由n,i,j计算得出。 数据处理:用了for语句循环结构(伪代码如下) 定义上述变量 扫描量(%d,&n); 对于(i=1;i<=n/5;i++){ 对于(j=1;j<=50;j++){ SUM=n-5*I-2*j; 如果(SUM>=1) 输出i,j,sum。
1.2.2实验代码截图
1.2.3造测试数据
输入样例 | 输出样例 | 说明 |
---|---|---|
13 | five=1,two=1,one=6;five=1,two=2,one=4;five=1,two=3,one=2;five=2,two=1,one=1 | 13元有四种找零方法 |
10 | five=1,two=1,one=3;five=1,two=2,one=1 | 10元有两种找零方法 |
1.2.4PTA提交列表及说明
提交列表:
提交列表说明:一直部分答案正确,后来仔细看了题目要求(每一种面值的人民币都是从小到大输出)和输出样例,才明白输出答案的顺序错误了。
2.代码互评(5分)
同学代码:(1)
(2)
我的代码:
评价:(1)第一个同学很好的运用了前面的知识,思路还是比较清晰的。只定义了一个变量,代码看起来比较多,但容易懂。
(2)第二个同学是一个大佬的,和我一样的思路,啊哈。
3.学习总结(15分/题)
3.1学习进度条(5分)
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|---|
第十五周 | 23 | 230 | break和continue语句和嵌套结构 | 镶嵌结构不是很懂 |
第十四周 | 24小时 | 250 | 学习使用while语句 | 有时候会无限进入循环 |
第十三周 | 21小时 | 220 | 熟练运用strin.h多分支结构 | |
第十二周 | 20小时 | 186 | 使用多分支结构,运用字符型数据 | 逻辑运算符不是很清楚 |
第十一周 | 22小时 | 150 | 自定义函数 | 自定义函数的调用规则 |
第十周 | 24个小时 | 230 | for循环结构,数学常用函数与数学函数的调用头文件的运用 | 调用不同函数不熟悉,不太清楚编译 |
第九周 | 22个小时 | 210 | 算数运算和赋值运算 | 对输出的不同形式不是很明白 |
第八周 | 20个小时 | 180 | 基础常用代码知识,整型变量,运算符的相关知识,markdown语法的运用 | 不同代码内存占用问题 |
3.2累积代码行和博客字数(5分)
3.3学习内容总结和感悟(5分)
3.3.1学习内容总结
3.3.1学习感悟
作业好难,真的难。之前老师说要看到自己进步,这样会对自己有信心,但是好像自己的进步速度跟不上学习内容进度。好多题目都是一脸蒙,看书找资料找相似的题或者问同学才能动手做。也和我题目刷得比较少有关咯,今后几周要想不挂科就必须多刷题了。
课后问题——如何跳出循环?
(1)用break跳出一重循环
(2)使用双break
(3)用return作为函数返回值跳出函数,即跳出for函数体中for循环
(4)使用goto
(5)设置标志flag
(6)for词句,改循环的计数