C语言I博客作业07

C语言I博客作业07

这个作业属于哪个课程https://bbs.csdn.net/topics/603526942
这个作业要求在哪里https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17327
这个作业的目标<学会用for循环处理复杂点的问题>
学号<20218584>

1. PTA作业

7-1 韩信点兵
7-2 找出一批学生的最高分
7-3 购物(二)
7-4 循环-古角猜想

1.1 韩信点兵

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
输入格式:
本题无输入
输出格式:
输出韩信至少拥有的士兵人数。
1.1.1 代码截图
在这里插入图片描述
1.1.2 数据处理
数据表达:定义了整型变量x,利用到了for循环和if语句。
数据处理:题中意思即对士兵x取余,利用for语句不断循环,并利用if语句进行条件判断,当找出满足题意的x的最小值时,输出最小值,通过break跳出循环的同时结束程序执行过程。
1.1.3 PTA提交列表及说明在这里插入图片描述
答案错误:第一次没有考虑到需要用到for循环,第二次if内的步骤包含错误,导致无结果输出或输出了一个错误的值。
运行超时:没有用break结束循环,导致程序一直循环。

1.2 找出一批学生的最高分

输入在一行中给出一系列非负整数,其间以空格分隔。当读到负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出最高分。
输入样例:
在这里给出一组输入。例如:
67 88 73 54 0 95 60 -1
输出样例:
在这里给出相应的输出。例如:
95
1.1.1 代码截图在这里插入图片描述

1.1.2 数据处理
数据表达:定义了整型变量max,n,i,用到了循环结构和顺序结构。
数据处理:先确定第一个n值为max,利用for语句明确循环过程,用if语句分情况进行判断,在n>=0的前提下,若max<n则将该n赋值给max,反之,依次比较,直到所有数据比较完毕,若读到负数,则输出结束。
1.1.3 PTA提交列表及说明
在这里插入图片描述
编译错误:程序编写过多,导致细节错误过多,同时编译复杂,自己把自己绕晕,无法读出程序运行过程,后修改多次,运行检测后均结果错误,因而未提交。

1.3 购物(二)

用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
输入格式:
若干个以空格间隔的实数(每个数不超过100000),以-1作为输入结束的标志。
输出格式:
一个实数,表示商品的平均价格,精确到小数点后两位。
输入样例:
890.78 2769.8 12300 3532.2 -1
输出样例:
4873.19
1.1.1 代码截图
在这里插入图片描述
1.1.2 数据处理
数据表达:定义整型变量i和count,以及浮点型变量x,y,average。
数据处理:首先用for循环,明确循环条件,在循环中输入所购商品的价格,用if语句分情况执行程序,若x为-1则直接跳出循环,若x不等于-1,则依次记下x的值并求和,直至读取结束,再输出所有X之和的平均值,结束运行。
1.1.3 PTA提交列表及说明
在这里插入图片描述
部分正确:运行过程包含了分母count等于0的情况,该测试点出错,同时对题目中商品数不超过10的理解出错。

1.4 循环-古角猜想

日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除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
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
1.1.1 代码截图
在这里插入图片描述
1.1.2 数据处理
数据表达:定义了整型变量n和i,用到循环结构和if语句。
数据处理:用for循环确定循环条件,在循环里面用if语句分三种情况进行循环,当结果达到一时跳出循环。
1.1.3 PTA提交列表及说明
在这里插入图片描述
答案错误:少打分号,判断条件缺少,循环条件输错。
运行超时:程序一直运行,break为输入或break位置错误,导致无法跳出循环,因而运行超时。

2. 本章学习总结

2.1 学习进度条

周/日期这周所花的时间代码行学习到的知识点简介目前比较迷茫的问题
11.22–11.2810h210分治法和贪心算法对贪心算法还不太了解,用for循环来处理稍微复杂点的问题,以及while语句的运用

2.2 积累代码行和博客字数

在这里插入图片描述

2.3 学习感悟

从此次做题来看,我对for循环的掌握还是不到位的,面对稍微复杂一点的题目知道怎么动手,但是却无法得出正确的结果,对程序编译的理解有偏差,同时对题目意思的理解能力有待加强,可能只有熟能生巧吧,要加强这方面的练习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值