C语言I博客作业07

这个作业属于哪个课程 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语言的一个不错的方法。

原文地址:https://www.cnblogs.com/junfengyihan/p/14086592.html