WHCSRL 技术网

C语言I博客作业03

这个作业属于哪个课程https://bbs.csdn.net/topics/603005148
这个作业要求在哪里https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321
这个作业的目标<巧用if条件语句>
学号<20218584>

一、本周作业

1.1 完成PTA作业,并给出编程题完成截图,截图上有自己的学号及姓名标识

7-1 计算分段函数[2]
7-2 判断体质完整版
7-3 【简单分支】【–月份天数A–】
7-4 前天是哪天
7-5 多分支表达-倍数问题
7-6 输出闰年

1. 2请给出本章学习总结

1 学习进度条(5分)

2 累积代码行和博客字数(5分)

3 学习内容总结和感悟(5分)

1.PTA作业

1.1 7-1 计算分段函数[2]

本题目要求计算下列分段函数f(x)的值:
在这里插入图片描述

注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
在这里插入图片描述
数据处理:
数据表达:通过float定义了两个变量x,y
数据处理:利用了题目中所给的pow求幂和sqrt求平方根,通过if语句分两种情况处理函数
在这里插入图片描述
sqrt打成sprt,2乘x编译错误,少打了乘号,在VS上运行调试才发现错误。

1.2 7-2 判断体质完整版

体质指数( BMI)是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。

胖瘦程度BMI
偏瘦BMI < 18.5
正常18.5<=BMI < 24
偏胖24<= BMI <28
肥胖28<=BMI <40
极重度肥胖BMI >= 40

输入格式:
在一行里输入体重 和 身高的值
输出格式:
根据BMI的值,输出表格中的肥胖程度。
在这里插入图片描述
数据处理;
数据表达:定义了weight和height以及BMI三个变量,分情况进行计算
数据处理:多次使用if句式,分五种情况进行运算,最后代入数值确定人体胖瘦程度。
在这里插入图片描述
将人体胖瘦程度用英文打出来浪费了很多时间,题目没看清,误将BMI打成BIM,不仔细,将BMI的计算方法: 体质指数(BMI) = 体重(kg)/ 身高( m )的平方,理解错误,花了过多时间。

1.3 7-3 【简单分支】【–月份天数A–】

现在给定某一个月份,然后要求输出该月份的天数,假设年份都是平年。
输入格式:
输入一个正整数M代表月份,M只可能是[1~12]之间的正整数。
输出格式:
输出月份M的天数,输出数据后需要输出回车换行。
在这里插入图片描述
数据处理:
数据表达:定义了变量month进行编程
数据处理:利用if的条件语句,分三种情况进行数据处理,使题目简单明了。
在这里插入图片描述
刚开始一直将平年2月视为28天,导致答案输出错误,除此之外,没有打出输出句式,导致结果无法出现,这又属于审题不清。

1.4 7-4 前天是哪天

给定公元1000年到公元3000年之间的某一天,请你给出该天的前天是哪一天。
输入格式:
输入在一个日期,格式如"yyyy-mm-dd",题目保证所有输入日期为合法日期。
输出格式:
对每一组输入,在一行中输出日期,格式如"yyyy-mm-dd"。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
数据处理:
数据表达:定义了a,b,c,m,i,j六个变量
数据处理:利用了if句式判断条件,同时case和switch结合使用,数据1一个一个罗列出来,使编译更加简单。在这里插入图片描述
编译错误是由于等于号再次误用,同时有时候经常忘记行尾打分号,这个题目经多次查找借鉴询问而得出正确答案,对我而言,对这样的题目,做题能力有待加强。

1.5 7-5 多分支表达-倍数问题

键盘输入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不是正整数,没有任何输出。
在这里插入图片描述
数据处理:
数据表达:依据题目要求,定义了A,B两个变量,使程序编程简单
数据处理:运用if条件句式,分四种情况判断输出结果的值,最终利用printf输出最后的结果。在这里插入图片描述
刚开始没有区分两数相除取余和两数相除取商的符号区别,误用了除法符号,同时,在return那一行漏打了分号,等于号和不等于号的符号表示也记得不牢固。

1’6 7-6 输出闰年

输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
在这里插入图片描述
数据处理:
数据表达:定义了变量year,利用题中所给条件编写程序
数据处理:通过if条件语句,将条件细分,不存在任何闰年则输出None,为闰年的年份则输出Invalid year。
在这里插入图片描述
第一次提交的时候没有检查,在printf漏打了分号,同时也考虑不周到,忽视了不存在任何闰年输出"None"的情况。

2. 学习总结

2.1 学习进度条

周/日期这周所花的时间代码行学到的知识点简介目前比较迷惑的问题
10.11–10.178小时160如何打出句号等符号,能够大致分清变量类型如何准确空格,具体需要如何引入变量
10.25–10.3114小时230熟悉了if句式,知道可依照其分多种情况分析处理题目float和double如何区分

2.2 累积代码行和博客字数

在这里插入图片描述

2.3 学习感悟

本周的专业作业难度大大加大,主要是PTA上的编程作业,在基础不牢固的情况下,做这些作业也有点艰难,不断查找百度,不断借鉴吸收,还是有所收获的,但是在完成编程作业的过程中,我也暴露出很多问题,例如:审题不仔细,简单问题复杂化,滥用变量等等。相信通过此次教训,我下次不会浪费这么多时间。

推荐阅读