这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11531 |
这个作业的目标 | 熟练运用多分支结构 |
这个作业在那个具体方面帮助我实现目标 | while语句的运用 |
参考文献 | C语言程序设计 |
你的学号 | 20208963 |
1.PTA实验作业
1.1日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.1.1数据处理
数据处理:运用整数型变量n和item
数据表达:运用while和if-else混合语句,
伪代码:
n,item
/定义整数型变量;
while(n>1)
/while用来判断结果是否为1以此结束运算;
if(n%2==0)
else
/if-else判断运算的过程;
item=n/2;
item=nx3+12;
/等式计算;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
8 | 8/2=4 4/2=2 2/2=1 | 偶数8测试 |
3 | 3x3+1=10 10/2=5 5X3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 奇数3测试 |
1.1.4提交列表及说明
1.在编译的过程中判断n是偶数还是奇数时,
判断语句错用赋值运算符,将语句:
if (n%2=0)
改为 if (n%2==0) 后,
运算正确;
2.判断n>1时写为了n>=1。导致了运算结果出不来,改正后运算正确;
1.2用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1数据处理
数据表达:运用整数型变量count以及双精度浮点型变量 n sum item ,
其中sum为中间和变量,item为输出结果;
数据处理:整体为while的不知道循环次数语句
伪代码:
定义整数型变量count储存输入的数据个数,
运用sum n item 双精度浮点型变量依次运算商品价格
while(n!=-1&&n<100000)
/判断输入的数据是否符合运算,以及使输入-1时结束输出;
sum =sum+ n;
/输入的n值累加储存到sum中以便使用;
count++;
/储存运算次数,判断得知输入的n的数据有几个;
item = sum /count;
/计算输入数据的平均数;
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
8956.12 54631.3 15649.1 4646.9 6000 -1 | 17976.68 | 大量小数数据和整数数据混合计算 |
25956.35 26451.36 1441.58 4594.25 44.264 5644.16 2652.14 -1 | 9540.59 | 大量小数混合运算 |
45642 1561 4654 64 566 4666 64465 -1 | 17374.00 | 大量整数混合运算 |
4545.36 2945.36 5446.36 4613.49 1245.36 598.36 4521.32 4512.36 4589.54 4587.96 | 3356.15 | 极限商品运算 |
1.2.4提交列表及说明
1.起先运用count作为判断条件发现无论如何count的值在两种情况下是想等的,随后改用n来判断
在判断过程中忽略了n的取值范围导致部分正确
把while(n!=0)改为
while(n!=0&&n<100000)后
运行正确
2.在输入数据时没有能够按照输入的次数来准确表达运算过程,
导致在输入n的值的时候,没有办法判断n的值是否符合条件,
使运算无法进行。在while前面加上了
scanf("%lf",&n)
后成功运算;
2.代码互评
同学代码1:
我的代码1:
1.从整体上可以看出同学的代码具有很大的简洁性,而且运用的变量较少。
说明该同学对于代码变量的掌握很是熟练,对于程序的编写很是在行。
2.从程序编写上看,两者代码的运用语句方式一样,都运用了while语句,
但是在等式运算上我运用了一个中间等式变量,是为了表示输出。
3.我可以从同学代码中学到运用简单的语句顺序简洁的输出运算过程。
同学代码2:
我的代码2:
1.从整体上看,我的代码要比同学代码整洁,没有太多复杂的变化和语句等式,
2.从代码运用上看我只运用了while语句而同学运用了while和if混合语句;
可以看出同学对于代码的理解能力很深,能够熟练运用代码是程序运行完整;
3.从使用方式上看,我的代码比较简便,但是细节比较多,一旦出错不好找到错误点,
而同学代码比较分散,各个语句结构简单,不易出错。
3.学习总结
周/日期 | 这周所花时间 | 代码行 | 学到到的知识点 | 目前比较困惑的问题 |
---|---|---|---|---|
第一周 | 6小时 | 200 | 输出Hello World | 对于循环的条件运用以及 |
第二周 | 8小时 | 500 | 数学运算 if分支语句 | 循环时具体的赋值状态 |
第三周 | 15小时 | 900 | for循环语句 | |
第四周 | 18小时 | 700 | 调用自定义函数 | 对于自定义函数掌握不太熟练 |
第五周 | 19小时 | 800 | 逻辑运算以及if多分支结构 | 运用if多分支时容易搞混乱语句的结构顺序 |
第六周 | 24小时 | 900 | switch语句的多分支结构 | 不能熟练掌握switch语句简化语句的以及break跳出方式 |
第七周 | 27 | 950 | while语句 | 不能熟练运用while的判断条件 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1:已经学习七周目了,对于程序的编写也越来越复杂,对于代码的研究也越来越深入。我从中慢慢感受到了这门学科的难点和重点
2:我已经能够理解简单的代码数据类型,也能够看懂其他人一些简单的代码结构,这将会对我以后自己研究代码提供了一定的基础
3:我也能够从不同的代码编写上找出简便的编写方法,研究出一套适合自己的编写路径和独特的代码编写特点。
4:学习完while后才发现好多东西代码可以替换,每种代码有着本身的特色和表达方式,不同代码组合在一起会产生极大效果
每种代码的相互配合和结合都会有助于程序的编写,让编程语句更加简洁实用;
5: 希望以后自己能够坚持住对代码编写的信心,对于代码的运用越来越熟练。