这个作业属于哪个课程 | https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/603005146 |
这个作业的目标 | 练习使用循环和判断语句 |
学号 | 20218518 |
1. PTA作业
7-1
本题目要求计算下列分段函数f(x)的值:
注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
输入样例1:
10
输出样例1:
f(10.00) = 3.16
结尾无空行
输入样例2:
-0.5
输出样例2:
f(-0.50) = -2.75
数据表达:用double 定义了X和result两个变量
数据处理:先用if判断x走哪个方程,再用sqrt求平方根而且以及pow求幂。
7-2 .判断体质完整版 (10 分)
体质指数( BMI)是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。BMI的计算方法如下: 体质指数(BMI) = 体重(kg)/ 身高( m )的平方。
胖瘦程度 BMI
偏瘦 BMI < 18.5
正常 18.5<=BMI < 24
偏胖 24<= BMI <28
肥胖 28<=BMI <40
极重度肥胖 BMI >= 40
输入格式:
在一行里输入体重 和 身高的值
输出格式:
根据BMI的值,输出表格中的肥胖程度。
输入样例:
在这里给出一组输入。例如:
62 1.71
结尾无空行
输出样例:
在这里给出相应的输出。例如:
正常
结尾无空行
错因:一开始不知道用&&,直接用18.5<BMI<24。
数据表达:用float定义三个单精度浮点数BMI,a,b。
数据处理:先用公式求出BMI,再用用if以及else if判断输出什么。
7-3.【简单分支】【–月份天数A–】 (12 分)
现在给定某一个月份,然后要求输出该月份的天数,假设年份都是平年。
输入格式:
输入一个正整数M代表月份,M只可能是[1~12]之间的正整数。
输出格式:
输出月份M的天数,输出数据后需要输出回车换行。
输入样例:
在这里给出一组输入。例如:
5
结尾无空行
输出样例:
在这里给出相应的输出。例如:
31
结尾无空行
数据表达:用int 定义x。
数据处理:用Switch语句对输入的x进行讨论,然后输出对应的天数。
7-4. 前天是哪天 (10 分)
给定公元1000年到公元3000年之间的某一天,请你给出该天的前天是哪一天。
输入格式:
输入在一个日期,格式如"yyyy-mm-dd",题目保证所有输入日期为合法日期。
输出格式:
对每一组输入,在一行中输出日期,格式如"yyyy-mm-dd"。
输入样例:
在这里给出一组输入。例如:
2020-3-15
结尾无空行
输出样例:
在这里给出相应的输出。例如:
2020-3-13
结尾无空行
错因:一开始脑子瓦特了,在printf里面写了&y,&b,&d导致编辑错误,然后就没没考虑二月闰年的问题。
数据表达:用int 定义y,b,d,z四个变量。
数据处理:用if语句来判断是否是闰年,然后将二月的天数给到变量z,再分是否是每个月前两天来讨论,最后用Switch语句完成前天对应的年月日。
7-5.多分支表达-倍数问题 (50 分)
键盘输入1个正的整数A,如果A是3的倍数但不是5的倍数,则输出A除以5的余数。如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数
输入格式:
1个正整数
输出格式:
如果是3的倍数但不是5的倍数,则输出A除以5的余数。 如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。 如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数。 如果A不是正整数,没有任何输出。
输入样例:
18
结尾无空行
输出样例:
3
数据表达:用int定义A和b,但其实b没用到我也不知道当时为什么int一个b。
数据处理:用if和else if进行判断,满足哪个条件则输出相应的数据。
7-6.输出闰年 (15 分)
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
2048
结尾无空行
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
结尾无空行
输入样例2:
2000
输出样例2:
Invalid year!
错因:一开始把2999都算21世纪了hhhh,然后改了一下就死循环了,一直显示超时。
数据表达:用int 定义ab并给b赋值2001。
数据处理:用if判断输出的a符合哪种情况,然后用到了while语句算闰年。
2. 学习总结
2.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/11-10/17 | 5h | 0 | 编程一些简单运算 | 暂时没有 |
10/18-10/24 | 10h | 140 | 循环和判断 | 循环的两个格式有点混淆 |
2.2 累积代码行和博客字数
2.3 学习感悟
我发现纯听课好像还是不太行的样子,我在琛哥推荐的慕课上听过判断循环了,但是他给的作业我还是不太会写,然后琛哥在云班课上教课我再去写题又会一些,这可能就是因为当自己有目标的去学习效率更高?我在慕课都是听完再去写作业,我去云班课就是知道有作业,先去看一下作业再去听课,效率确实高了蛮多的,所以说这次学习让我知道了一个新的学习方法吧!