c语言的第四次作业
(一)改错题
输出三角形的面积和周长,输入三角形的三条边a、b、c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“These sides do not correspond to a valid triangle”。
输入输出样例1:
Enter 3 sides of the triangle: 5 5 3
area = 7.15; perimeter = 13.00
输入输出样例2:
Enter 3 sides of the triangle: 1 4 1
These sides do not correspond to a valid triangle
源程序(有错误的程序)
#include <stdio.h>
#include <math.h>
int main(void)
{
double a,b,c;
double area,perimeter,s;
printf("Enter 3 sides of the triangle: ");
scanf( "%lf%lf%lf",&a,&b,&c );
if( a + b > c || b + c > a || a + c > b)
s = ( a + b + c ) / 2;
area = sqrt( s * ( s - a ) * ( s - b ) * ( s - c );
perimeter = a + b + c;
printf("area = %.2f; perimeter = %.2f\n",area,perimeter);
else
printf("These sides do not correspond to a valid triangle\n");
return 0;
}
(1)错误信息:

错误原因:
少了半个括号。函数后面要用括号括起来的。
改正方法:
在计算面积的最后一行加上半个后括号。
(2)错误信息:

错误原因:
else没有找到对应的if。
改正方法:
在if和else下的代码中都加上大括号。
(3)错误信息:

错误原因:
输入1 4 1 时,不构成三角形,但是却输出结果啦,不符合题目要求。在if判断时候出现错误。
改正方法:
把if判断的后面的或者换成并且的关系。“&&”
(4)正确的程序

(二)学习总结
1.在编程解决问题的过程中,我们会用到多个if语句,if...else if... 语句以及switch语句,查阅资料,总结一下这三种情况的区别何在,并分别举例加以说明。
1>例如顺序结构(2)作业第四题
高速公路超速处罚
按照规定,在高速公路上行使的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
输入样例1:
65 60
输出样例1:
OK
输入样例2:
110 100
输出样例2:
Exceed 10%. Ticket 200
输入样例3:
200 120
输出样例3:
Exceed 67%. License Revoked
2>流程图

(2)if....语句是都要运行,他们是并列运行的。前后没有联系 ,也没有影响。
1>例如顺序结构(2)作业第二题
比较大小
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
2>流程图

(3)switch语句可以判断更多条件,在多条件判断时,运用switch语句更简练。有时候累加计算必须用switch.
1>例如顺序结构(2)作业第三题
计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
2>流程图

2.对其他你认为需要进行总结的内容进行总结。
(1)要合理的运用if...;if...else..;switch..这三个语句。
(2)在switch语句中一般都不要忘记break。
(3)case 后要有空格,最后要用冒号,下面再写语句。
(4)再if条件判断时,等于的字符型要用单引号引起来。
(5)再程序中运用函数时一定要先再头文件声明。
(6)分清int 和 double 类型。一定要看清楚,有时候会需要强制性转换。
(三)实验总结
1.比较大小
(1)题目
本题要求将输入的任意3个整数从小到大输出。
(2)流程图

(3)源代码

(4)实验分析
问题:if..和if..else的区别错误。
原因:if...的几个语句都是并列的,所以这个题不能使用if...else 。
解决办法:三个都是用if语句。
(5)本题PTA提交列表

2.高速公路超速处罚
(1)题目
按照规定,在高速公路上行使的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
(2)流程图

(3)源代码

(4)实验分析
问题1:百分号的输入方式。
原因:输入了一个百分号,所以会出现结果不显示百分号。
解决办法:应该同时输入两个百分号的。
问题2:在if条件判断的时候出现错误。
原因:判断百分比的条件时,直接在if后直接计算带判断。
解决办法:应在使用if条件语句时,先进行百分比的计算,然后在判断。不容易出现逻辑上计算错误。
(5)本题PTA提交列表

3.计算油费
(1)题目
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
(2)流程图

(3)源代码

(4)实验分析
问题:在判断char类型的写法上出现问题。
原因:char类型判断时要加上单引号,不能直接写字符类型。
解决办法:在if条件判断时用英文单引号括起来字符类型。
(5)本题PTA提交列表

4.12-24小时制
(1)题目
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。
(2)流程图

(3)源代码

(4)实验分析
问题1:一天只有24小时,在输入的时候,下面要进行判断的。
原因:在判断时判断的不够全面。
解决办法:再加一个判断等于24小时的条件。
问题2:输入多于60的问题。
原因:60分钟为一小时,多于六十,要前进一小时的。
解决办法:再加一个判断条件,判断是否分钟的输入大于60。
(5)本题PTA提交列表

(四)博客互评
(1)http://www.cnblogs.com/lrxlrz/p/7763680.html
(2)http://www.cnblogs.com/he111923/p/7772093.html
(3)http://www.cnblogs.com/LYFRRS/p/7765102.html
c语言的第四次作业的更多相关文章
- C语言程序设计第四次作业——选择结构(2)
Deadline: 2017-11-5 22:00 一.学习要点 掌握switch语句 掌握字符常量.字符串常量和字符变量 掌握字符型数据的输入输出 二.实验内容 完成PTA中选择结构(2)的所有题目 ...
- C语言程序设计第四次作业--选择结构(2)
(一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...
- C语言基础课第四次作业
1.实验代码 7-2 打印九九口诀表 (15 分) #include<stdio.h> #include<math.h> int main(void){ int a, ...
- C语言学习 第四次作业总结
本次作业主要为了复习分支语句,同时复习之前学习过的判断语句,printf和scanf函数的使用. 学习到这里,同学们应该已经基本掌握了基本的数据类型,分支结构,循环结构,条件判断语句.应该可以利用这些 ...
- C语言程序设计第四次作业
态度决定一切,我依然要说这句话,每次同学们提交的作业,我都会认真评阅,相比实验课而言,可以有更充足的时间来发现问题,很多同学的代码依然会存在一些语法错误或者考虑不周全的现象,我提出了,那么,你认真看了 ...
- C语言程序设计第四次作业-选择结构
(一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...
- C语言程序设计第四次作业——选择结构(二)
(一)改错题 错误信息: 错误原因:第13行sqrt数学函数缺少")",导致编译器无法将括号正确配对 改正方法:补齐缺少的")" 错误信息: 错误原因:if语句 ...
- c语言程序设计第四次作业——顺序结构
(一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...
- C语言基础第四次作业
题目7-2,九九乘法表 1.实验代码: #include<stdio.h> int main() { int N, i, j, q; scanf("%d",&N ...
随机推荐
- 织梦dedecms默认网站地图sitemap.html优化
网站地图对于网站优化很重要,搜索引擎就是靠网站地图去收录网站页面,本文主要讲解优化织梦自带的网站地图功能. 织梦自带的网站地图使用方法:织梦后台--生成--HTML更新--更新网站地图,可以在 ...
- 延迟确认和Nagle算法
前篇文章介绍了三次握手和四次挥手,了解了TCP是如何建立和断开连接的,文末还提到了抓包挥手时的一个“异常”现象,当时无法解释,特地查了资料,知道了数据传输中的延迟确认策略. 何谓延迟确认策略? WIK ...
- Python内置函数(37)——sorted
英文文档: sorted(iterable[, key][, reverse]) Return a new sorted list from the items in iterable. Has tw ...
- springboot多模块项目下,子模块调用报错:程序包xxxxx不存在
今天在用springboot搭建多模块项目,结构中有一个父工程Parent 一个通用核心工程core 以及一个项目工程A 当我在工程A中引入core时,没有问题,maven install正常 当我 ...
- gradle入门(1-4)多项目构建实战
一.多项目构建 1.多项目构建概念 尽管我们可以仅使用单个组件来创建可工作的应用程序,但有时候更广泛的做法是将应用程序划分为多个更小的模块. 因为这是一个非常普遍的需求,因此每个成熟的构建工具都必须支 ...
- CWMP开源代码研究——stun的NAT穿透
原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 参考: http://www.cnblogs.com/myblesh/p/6259765.htm ...
- 最小二乘法多项式拟合的Java实现
背景 由项目中需要根据一些已有数据学习出一个y=ax+b的一元二项式,给定了x,y的一些样本数据,通过梯度下降或最小二乘法做多项式拟合得到a.b,解决该问题时,首先想到的是通过spark mllib去 ...
- hive:某张表进行分页
已知表myobject(objectid int) create table myobject(objectid int) row format delimited fields terminated ...
- url,href,src之间的区别
发现自己居然没把url.href.src关系及使用搞清楚,今天就理一下.主要包括:url.src.href定义以及使用区别. URL(Uniform Resource Locator) 统一资源定位符 ...
- lvs 负载均衡 NAT模式
1.原理 基于NAT机制实现.当用户请求到达director之后,director将请求报文的目标地址(即VIP)改成选定的realserver地址,同时将报文的目标端口也改成选定的realserve ...