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.17 | 8小时 | 160 | 如何打出句号等符号,能够大致分清变量类型 | 如何准确空格,具体需要如何引入变量 |
10.25–10.31 | 14小时 | 230 | 熟悉了if句式,知道可依照其分多种情况分析处理题目 | float和double如何区分 |
2.2 累积代码行和博客字数
2.3 学习感悟
本周的专业作业难度大大加大,主要是PTA上的编程作业,在基础不牢固的情况下,做这些作业也有点艰难,不断查找百度,不断借鉴吸收,还是有所收获的,但是在完成编程作业的过程中,我也暴露出很多问题,例如:审题不仔细,简单问题复杂化,滥用变量等等。相信通过此次教训,我下次不会浪费这么多时间。