(一)改错题

输出三角形的面积和周长,输入三角形的三条边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

源程序(有错误的程序)

错误信息1:

错误原因:算式少了半个括号,用括号括起。
改正方法:添加上右边缺少的括号。
错误信息2:

错误原因:else前后的语句缺少大括号。
改正方法:在if语句后也就是else前加上大括号,同时在else后加上大括号。
编译无误

输入第一个值,正确:

继续输入第二个值,运行结果错误:

错误原因:输入1 4 1时,不构成三角形,程序中if语句条件错误。
改正方法:将“||”都改为“&&”。

再次输入两值,均得到正确结果


(二)学习总结
1.在编程解决问题的过程中,我们会用到多个以及if语句,if...else if... 语句switch语句,查阅资料,总结一下这三种情况的区别何在,并分别举例加以说明。
(1)程序执行效率
在条件较少的情况下,用if语句较为方便,条件较多时,用if...else if... 语句合适,大部分情况都可用switch语句。

(2)便利性
case后面一定要是常量,当条件的分支很多时通常使用switch...case

参考链接:http://www.cnblogs.com/wankun/p/4989831.html
2.对其他你认为需要进行总结的内容进行总结。
不同的语句在不同条件下的适用程度是不一样的,熟练并善于转化,有助于我们在编程过程中达到事半功倍的效果,而且,每个语句都有不同的特点,熟悉这些特点在面对各种问题时对症下药,就可以快速找出问题的错误,并很好的改正。
(三)实验总结
1.成绩转换
(1)题目:
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
(2)流程图

(3)源代码

(4)实验分析
无问题
(5)本题PTA提交列表

5.三角形判断
(1)题目:给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。
(2)流程图


(3)源代码

(4)实验分析
问题1.S=(double)(a+b+c)/2语句中必须用double
原因:若a+b+c为奇数则S为小数
解决方法:检查发现只有在a+b+c为偶数时才成立,加上double都奇数也正确
(5)本题PTA提交列表

7.简单的计算器
(1)题目:本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR.
(2)流程图

(3)源代码

(4)实验分析
无问题
(5)本题PTA提交列表

9、求一元二次方程的根
(1)题目:本题目要求一元二次方程的根,结果保留2位小数。
输入格式:
输入在一行中给出3个浮点系数a、b、c,中间用空格分开。
输出格式:
根据系数情况,输出不同结果:
1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;
2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;
3)如果方程只有一个根,则直接输出此根;
4)如果系数都为0,则输出"Zero Equation";
5)如果a和b为0,c不为0,则输出"Not An Equation"。
(2)流程图

(3)源代码


(4)实验分析
虚根问题上一直没搞明白,到截止时间也没有解决问题,之后又请教了其他同学,终于清楚了问题所在。
(5)本题PTA提交列表

(四)博客互评
(1)思念诠释你我的距离 http://www.cnblogs.com/karry-5201314/p/7779360.html
思路比较清晰,内容格式方面值得我学习请教
(2)赵晓辉 http://www.cnblogs.com/2205747462x/p/7784914.html
不论是文章排版还是做题细节方面都比我要强,很多我注意不到的点在他的作业当中都能找到,并对我有所启发。
(3)浅温 http://www.cnblogs.com/123456lxl/p/7774897.html
整体感觉还可以,但是让人看着不舒服,在问题细节和编程方面也没有前两位同学的好,但是仍有我学习借鉴的地方。

转载于:https://www.cnblogs.com/hfh0420/p/7786572.html

C语言程序设计第四次作业——选择结构(2)相关推荐

  1. c语言程序设计第四次作业——顺序结构

    (一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...

  2. C语言程序设计第三次作业——选择结构(1)

    (一)改错题 将源程序进行编译,发现有错误信息: 错误信息1 错误原因:scanf语句中没有用"&" 改正方法:在x前加上"&" 错误信息2 错 ...

  3. 中国大学慕课 大连理工大学 C语言程序设计 第四周编程作业 选择结构程序设计

    1 大小写字母转换(6分) 题目内容: 编写程序,输入一个字符,若是大写字母,转换成小写字母,若是小写字母,则转换成大写字母输出 输入格式: getchar() 输出格式: putchar( 输入样例 ...

  4. C语言程序设计第六次作业——循环结构(2)

    (一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...

  5. C语言程序设计第五次作业——循环结构(1)

    (一)改错题 1.题目 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5 ...

  6. C语言程序设计第五次作业——循环结构1

    (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5×(f-3 ...

  7. 2014年秋广州华师在线计算机的作业答案,18秋华师《C语言程序设计B》在线作业-4辅导资料...

    18秋华师<C语言程序设计B>在线作业-4辅导资料 (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 2.90 积分 18秋华师<C语 ...

  8. c语言程序设计电大作业,电大C语言程序设计第1234次作业及答案

    <电大C语言程序设计第1234次作业及答案>由会员分享,可在线阅读,更多相关<电大C语言程序设计第1234次作业及答案(27页珍藏版)>请在人人文库网上搜索. 1.M資妄 呦圧 ...

  9. c语言第四章循环程序设计,C语言程序设计教程第4章-循环结构程序设计

    <C语言程序设计教程第4章-循环结构程序设计>由会员分享,可在线阅读,更多相关<C语言程序设计教程第4章-循环结构程序设计(42页珍藏版)>请在人人文库网上搜索. 1.C语言程 ...

最新文章

  1. 微软职位内部推荐-Software Engineer II
  2. 全球及中国智能电网产业十四五规划方向及投资决策建议报告2021年版
  3. 打破常规,逆残差模块超强改进,新一代移动端模型MobileNeXt来了!精度速度双超MobileNetV2
  4. 【多线程学习笔记】sychronized关键字底层原理、sychronized与ReentrantLock、volatile和synchronized
  5. c++二进制转十进制_二进制,八进制,十进制,十六进制转换详解~
  6. Taro+react开发(78):taro生命周期render
  7. Python yaml处理
  8. 最小二乘法 c 语言程序,最小二乘法采用C语言.docx
  9. 二分法查找c语言程序_用C++写二分查找了!【手绘漫画】图解LeetCode之搜索插入位置(LeetCode 35)...
  10. python钻石图_Python笔记:制作各种水球图
  11. paip.提升性能3倍--使用栈跟VirtualAlloc代替堆的使用.
  12. oracle 12c transaction guard,保障业务连续性的神器
  13. 微软官方提供的免费正版 Windows 8.1/Win10/7/XP/Vista 操作系统虚拟机镜像下载
  14. 如何建设研发部门体系,理清责任和关系
  15. 服务器怎么组装,如何组装一台服务器?(最好标明下什么类型的)
  16. ForeSpider数据采集软件之链接抽取
  17. 0xFFFF的Debug
  18. 【Vue学习总结】22.使用Mint UI的infinite-scroll实现上拉分页加载
  19. 北理计算机学院高扬,李爽_北京理工大学计算机学院
  20. [Minecraft][Mod开发]如何做一个告示牌点赞mod

热门文章

  1. nmn是真的还是假的,如何鉴别高质量的nmn,方法一览
  2. yum软件包管理 yum(软件仓库)
  3. Python 爬虫学习笔记(十(2))scrapy爬取图书电商实战详解
  4. Python爬虫 之 异步爬虫
  5. App自动化测试介绍和环境搭建
  6. 新网站对SEO工作内容简介
  7. 菜鸟学习Docker实例
  8. 尚融宝15-集成阿里云短信服务
  9. HUAWEI 机试题:工厂流水线调度
  10. 8.互 联 网 上 的 音 频 和 视 频 服 务