C语言I博客作业03

|这个作业属于那个课程 |https://edu.cnblogs.com/campus/zswxy/SE2020-3 |
| ---- | ---- | ---- |
|这个作业的要求在哪里 |https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11450 |
|这个作业的目标 | 发掘学习中的问题,总结自己的收获,改善现有的问题 |
|学号 |20209167 |

1.PTA实验作业

从PTA题目集中选出3个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题2分,内容要求如下:

1.本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
1.1.1:

1.1.2:

数据表达:i,N为整型函数,q为代换变量(浮点型变量),sum,fz,fm,s为浮点型变量
数据处理:其中s表示该式子每一项,fz,fm表示分子分母,sum是最终结果,q是循环中的变量,根据题目要求调整最后输出结果为两位小数。

1.1.3:

  • Q1:刚开始没有用q代换变量,导致计算出错,部分正确。
  • A1:用了q代换,计算步骤正确,问题解决。

2.微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。
下面就请你写个程序,根据当前时间替大笨钟敲钟。
输入格式:
输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。
输出格式:
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。如果不是敲钟期,则输出:
Only hh:mm. Too early to Dang.

其中hh:mm是输入的时间。
输入样例1:
19:05

输出样例1:
DangDangDangDangDangDangDangDang

输入样例2:
07:05

输出样例2:
Only 07:05. Too early to Dang.
2.1.1:

2.1.2:

数据表达:定义时间hh,mm(整型数据),i,n也是整型数据。
数据处理:用到了for语句,ceil函数计算不超过mm的最小整数n=hh-12+ceil(1.0*mm/60);,用if语句设置题目要求时间段。

2.1.3:

  • Q1:刚开始if语句括号中打的是=所以编译错误。
  • A2:改成==就对了。
  • Q2:还有输入输出格式没注意空格。
  • A1:后来改正后格式正确。

3.L1-031 到底是不是太胖了 (10分)

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
输入格式:
输入第一行给出一个正整数N(≤ 20)。随后N行,每行给出两个整数,分别是一个人的身高H(120 < H < 200;单位:厘米)和真实体重W(50 < W ≤ 300;单位:市斤),其间以空格分隔。
输出格式:
为每个人输出一行结论:如果是完美身材,输出You are wan mei!;如果太胖了,输出You are tai pang le!;否则输出You are tai shou le!。
输入样例:
3
169 136
150 81
178 155

输出样例:
You are wan mei!
You are tai shou le!
You are tai pang le!
3.1.1:

3.1.2:

数据表达:其中i,n为整型数据,W为浮点型数据。
数据处理:根据题目数据要求给出定义变量,根据公式用if语句处理,输出给定的判定语句。用到了fabs函数计算绝对值等。(标准体重) W=(h-100)*0.9*2,fabs(w-W)<W*0.1

3.1.3:

  • Q1:刚开始会有编译问题,格式问题,后来发现这主要是个数学问题
  • A1:通过不断改公式,最后得出正确表达式。

2.阅读代码。

*    优点:都是循环语句,有共同点,能互相转换着运用。
*    可学习的地方:简单的了解了一下while语句的运用和运用break提前终止循环的用法以及与for语句的异同,
     比如:在 for 循环的格式中,表达式 1、表达式 2 和表达式 3 在 while 循环中一个也不少,只不过不像 for 循环那样写在一起,而是分开写。
     在 while 循环中,循环变量 i 在定义的时候就给它赋初值,++i 则是写在 while 的循环体内。只有循环判断表达式与 for 一样,都是写在其后的括号中。
     break是退出该循环,如果套在循环里,它只退出最里面的循环。

3.学习总结:

3.1学习进度条
|周/日期 |这周所花的时间 |代码行 |学到的知识点简介 |目前比较迷惑的问题 |
| ---- | ---- | ---- | ---- | ---- | ---- |
|3/9 -3/15 |6小时 |310 |for语句运用和基本原理 |如何在输出格式中换行,输入输出行数为N行时不知道如何处理 |
3.2累计代码行和博客字数


3.3学习感悟
(1)还是要注意很多比如细节,符号,格式。
(2)打代码心态要好。
(3)多与同学交流可以学到很多东西。
(4)多在网上看一些相关知识,很有帮助。

posted @ 2020-11-06 20:41  全湖广  阅读(271)  评论(6编辑  收藏  举报