【无标题】

本文记录了一位学生在CSDN论坛上找到的编程作业,并分享了解题思路和常见错误。作业包括韩信点兵问题、找最高分、计算平均分和古角猜想等,涉及循环和条件判断。学习者在实践中遇到了循环次数未知和输出格式等问题,通过反思和修正逐步提升编程技能。
摘要由CSDN通过智能技术生成
这个作业属于哪个课程https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321
这个作业要求在哪里https://bbs.csdn.net/topics/603526787
这个作业的目标加强编程能力,拓展思维
学号20218518

1.PTA作业

7-1 韩信点兵 (10 分)

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。

输入格式:
本题无输入

输出格式:
输出韩信至少拥有的士兵人数。
在这里插入图片描述
数据表达:用int定义i,n两个变量。
数据处理:用for循环让它从10开始一个个往后数数,数到能满足题目条件为止。
在这里插入图片描述
错因:一开始题目完全没看懂,我只知道他是11的倍数再加10,然后就一个个扣数字,然后心态崩了去群里问,有懂歌说了一下,然后看懂了,然后又错在了那个break没有加,所以数的不是最小的所以又错了。

7-2 找出一批学生的最高分 (15 分)

本题要求编写程序,找出最高分。

输入格式:
输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。

输出格式:
在一行中输出最高分。

输入样例:
在这里给出一组输入。例如:

67 88 73 54 0 95 60 -1
结尾无空行
输出样例:
在这里给出相应的输出。例如:

95
结尾无空行
在这里插入图片描述
数据表达:用int定义啊,max两个变量并给max初始值0.
数据处理:用while循环一直输出a来跟max比大小,最后得出最大值。
在这里插入图片描述

7-3 购物(二) (25 分)

用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。

输入格式:
若干个以空格间隔的实数(每个数不超过100000),以-1作为输入结束的标志。

输出格式:
一个实数,表示商品的平均价格,精确到小数点后两位。

输入样例:
890.78 2769.8 12300 3532.2 -1
结尾无空行
输出样例:
4873.19
结尾无空行
在这里插入图片描述
在这里插入图片描述
数据表达:用double定义a,i,b,average四个变量并给i初始值1.
数据处理:首先用if判断第一个数是否为-1,是的话则直接输出否则进入循环,最后得出结果。在这里插入图片描述
错因:第一次是忘记考虑到第一个就是-1的情况了,第二次是因为输入的-1我没用踢出去,让它算入平均值了导致错误。

7-4 循环-古角猜想 (20 分)

日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

输入格式:
输入一个自然数n

输出格式:
输出每次运算步骤,直到结果为1.

输入样例1:
5
结尾无空行
输出样例1:
53+1=16
16/2=8
8/2=4
4/2=2
2/2=1
结尾无空行
输入样例2:
6
结尾无空行
输出样例1:
6/2=3
3
3+1=10
10/2=5
53+1=16
16/2=8
8/2=4
4/2=2
2/2=1
结尾无空行
在这里插入图片描述
在这里插入图片描述
数据表达:用int定义变量a。
数据处理:首先输入数给a,用while循环并给与输出条件:a-1,然后奇数就用a
3+1,偶数就除以2.
在这里插入图片描述
错因:没有换行。

2.学习总结

2.1 学习进度条

周/日期所花的时间代码行学到的知识简介目前比较迷惑的问题
11/22-11/287h130循环循环中我不知道那个数是多少的时候我不知道怎么编程

2.2 积累代码行和博客字数

在这里插入图片描述

2.3 学习感悟

本周比上周好了一些,学习状态也好了一些,但是还是有点疑惑的地方就是我咋子用for循环的时候,我不知道他要循环几次,就是循环次数是个未知数的时候我不知道应该怎么编程,比如那个韩信点兵,我就不知道他要循环几次,我只觉得那个数不会超过10000,但是我不知道他是多少,所以我是个大概的范围把他求出来的,但是我还是不知道完全正确的代码应该是个什么样子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值