这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 熟练多分支结构的混合镶嵌使用 |
学号 | 20208988 |
1.PTA实验作业(20分/题)
1.1循环-古角猜想 (20分)
题目内容描述:日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.1.1数据处理
数据表达:定义了整型变量num,result,num由键盘输入,result通过运算赋值。
数据处理:表达式如下:
int num,result
if(num%2!=0)
result=num*3+1
num=result
while(num>1)
伪代码如下:
程序开始
定义 num,result。
输入 num的值。
if语句判断num的奇偶性,while语句进行循环。
奇数先进行result=num*3+1,再进行result=num/2同时输出结果。
偶数直接进行result=num/2同时输出结果。
程序结束
1.1.2实验代码截图
1.1.3 造测试数据
1.1.4 PTA提交列表及说明
1.运行超时:nun未处理导致循环条件一直满足,11行加入num/=2解决问题。
2.答案错误:num和result的变化未考虑,13行加入num=result解决问题。
3.部分正确:num为奇数的情况未考虑清楚,9行加入num=result解决问题。
1.2 购物(二) (25分)
题目内容描述:用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1 数据处理
数据表达:定义了浮点型变量n,result,i,n通过外设输入,i随循环逐渐累加,result通过运算赋值。
数据处理:使用的表达式如下:
double n,result,i=0
while(n!=-1&&i<=10)
i++
result+=n
if(i==0)
伪代码如下:
程序开始
定义 n,result,i。
输入 n的的一个值。
i初始化为0,确保不影响循环。
使用while循环
循环体 输入n,result不断加n。循环条件 n不等于-1同时i不大于10。
以防分母为0,使用if语句对i=0进行单独处理。
进行运算并输出结果。
程序结束
1.2.2 实验代码截图
1.2.3 造测试数据
1.2.4 PTA提交列表及说明
1.部分正确:未考虑到有10个商品的情况,加入i<=10解决问题。
2.答案错误:循环内输入导致数据累加不全,在循环外输入第一个数据解决问题。
3.部分正确:未考虑到不进入循环分母为0的情况,加入if语句解决问题。
2.代码互评(5分)
同学代码截图1.
同学代码截图2.
自己代码截图:
1.同学代码使用了break语句,我没有使用。
2.同学代码使用的语句较多,我的使用的语句较少。
3.同学使用的变量较多。
3.学习总结(15分)
3.1 学习进度条(5分)
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
本周学习了while,do-while,小树苗又多了一片叶子
3.3.2 学习体会
1.花费大量的时间学习,是学好C语言的基础。
2.实践是融会贯通的必要基础。
3.自学深度不够,未能发散思维。
4.学习他人优秀代码是学习C语言的一个不错的方法。