这个作业属于哪个课程 | https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17327 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/603526942 |
这个作业的目标 | <学会循环语句与选择语句的运用> |
学号 | <20218572> |
1. PTA作业
1.1 韩信点兵
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
代码截图
数据处理
数据表达:定义整型变量number,i。
数据处理:使用for循环进行人数计算,当循环计算出的数i满足if语句中的条件则把i赋值给number,用break结束该循环,输出该数,否则一直计算下去。
PTA提交列表及说明
由于我把取模之后的结果等于只写了1个=号,导致答案错误。
1.2找出一批学生的最高分
本题要求编写程序,找出最高分。
输入格式:
输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出最高分。
代码截图
数据处理
数据表达:定义整型变量grade,max。
数据处理:使用while循环进行计算,再使用if语句进行条件判断,把第一次输入的值赋给max,反复进行输入下一个值,直到这个数大于其它的数,则这个数为最大值。
PTA提交列表及说明
第一次忘记重新输入值了导致答案错误,第二次把输出的max忘记编写了。
1.3购物(二)
用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
输入格式:
若干个以空格间隔的实数(每个数不超过100000),以-1作为输入结束的标志。
输出格式:
一个实数,表示商品的平均价格,精确到小数点后两位。
代码截图
数据处理
数据表达:定义整型变量i,定义双精度浮点型变量n,sum,average,并将sum初始化。
数据处理:使用for循环进行商品价格的相加,再使用if语句进行判断,如果满足条件则循环终止,输出average。否则继续循环相加。
PTA提交列表及说明
在编写时漏掉了n=-1时的情况,最后改写把n=-1当成条件进行判断,对if语句多打了括号导致答案错误。
1.4循环-古角猜想
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
输入格式:
输入一个自然数n
输出格式:
输出每次运算步骤,直到结果为1.
代码截图
数据处理
数据表达:定义整型变量n,y。
数据处理:使用while循环语句进行计算,再用if语句判断输入的值是奇数还是偶数,如果是偶数则进行if语句中的计算,不是的话就进行else语句中的计算,将每一步计算都打印出来。反复进行直到最后算出的结果是1为止。
*PTA提交列表及说明
没有出现错误。
2. 本章学习总结
2.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学习到的知识点简介 | 目前比较迷茫的问题 |
---|---|---|---|---|
11/22-11/28 | 8h | 200h | 对于循环语句和选择语句的连用 | 数组的运用 |
2.2 积累代码行和博客字数
2.3 学习感悟
经过本次的编程练习让我对于循环和选择两种语句的连用有了更深的了解,当涉及到多次反复计算求和并且其中还有限定条件时,这个时候要想到用if和for or while进行编写,可以在循环过程中加上特定条件并且满足时要使用break进行终止循环,但尽管是这样有时候自己知道大概的思路却不能正确快速写出来,这个是我存在的问题,应该听从老师的建议要用n-s图把过程梳理清楚这样对于编写更加清晰。