这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11589 |
这个作业的目标 | <熟练运用循环语句while,do-while> |
学号 | <20208976> |
1.PTA实验作业(20分/题) | |
请再此处列出自己的排名图片, | |
1.1 题目名1 | |
7-3 循环-古角猜想 (20分) | |
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。 | |
1.1.1数据处理 |
数据表达:int n;
数据表达:表达式:n!=1 n%2==0 n%2==1 n=n/2 n=n*3+1
流程控制:用while循环语句来解决未知数不明的问题,用if来解决是否是偶数与奇数的问题。
伪代码如下:
程序开始
定义变量 n。
输入 n的值。
if语句判断n的奇偶性,while语句进行循环。
偶数先进行n=n/2如果未得到 1 同时将n进行重新赋值输出结果。
奇数进行n=n*3+1如果未得到 1 同时将n进行重新赋值输出结果。
程序结束
1.1.2实验代码截图
1.1.3 造测试数据
1.1.4 PTA提交列表及说明
编辑错误:1.将while和if逻辑弄反了,进行了先判断再循环。
2.判断奇,偶数的表达式变成了相除得0;
解决方案:1.先将while用于计算步骤循环,再判断。
2.将其进行了求余是否得0;
1.2 题目2
7-6 购物(二) (25分)
用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1 数据处理
数据表达:int count;
double price,average,sum;
数据处理:表达式:price!=-1 sum=sum+price;count==0 count=1;average=sum/count;
流程结构:用while来循环计算许多件商品的价格,用if来解决商品数的极端值问题,判断流程执行的真假。
伪代码如下:
程序开始
定义 count,double price,average,sum;
输入 price的值。
将average,count,sum初始化为0,确保不影响循环。
使用while循环
将sum进行累加。
以防分母为0,使用if语句对count=0进行单独处理。
进行运算并输出结果。
程序结束
1.2.2 实验代码截图
1.2.3 造测试数据
1.2.4 PTA提交列表及说明
多种错误:1.语句格式用的不对,如scanf的忘了加&。
2.题目没理解到位,商品数不超过10件。
3.代码每理解到位,只弄了个大概轮廓。
部分正确:1.再次没考虑到商品数较少,商品值极端数的问题。
解决方案: 1.通过编译器进行基础的错误,要形成习惯;
2.注意省题。
3.运用多重循环解决商品值极端数的问题。
2.代码互评(5分)
同学代码截图1
自己代码截图1
1.该同学更加通俗易懂,使初学者看着更加理解。
2.都使用了if语句,但该同学理解题目意思更游刃有余。
3.该同学值得学习和效仿,代码更简洁。
同学代码截图2
自己代码截图2
1.题目不难时,更喜欢看该同学的简洁明了。
2.但可能我的更见名知义一点。
3.用的循环语句不一样:该同学用的while,我用的do-while.在效果上没有太大区别。
3.学习总结(15分)
3.1 学习进度条(5分)
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1.感觉一周时间过得很快,但感觉不太充实,需好好督促自己。
2.离c语言又进了一步,学习过程还是充满着对c语言的喜爱和好奇。
3.需将书本知识牢牢抓住,建立起一套完整的,能详细说出来的知识体系。
4.多多拓展眼界,学习别人代码的简洁明了,快捷。
5.多多刷题,将书本用于实践。