---恢复内容开始---

(一)改错题

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

源程序(有错误的程序)

错误信息:



错误原因:少一个右括号

改正方法:加上一个右括号

错误信息:



错误原因:if后面没有加大括号 else找不到if 不能正常运行

改正方法:在if的条件后面加上大括号

再次编译后:

无错误 输入第一组数据:

无错误,输入第二组数据:

出错,错误原因:if后面的条件不应该用“或”,否则会判断错误

改正方法:把“或”改成“与”

编译后:

答案正确。

(二)学习总结

1.在编程解决问题的过程中,我们会用到多个if语句,if...else if... 语句以及switch语句,查阅资料,总结一下这三种情况的区别何在,并分别举例加以说明。

答:1.几乎所有的语言(包括PHP)都有if语句,它按照条件选择执行不同的代码片段

2.大多时候,总是需要在满足某个条件时执行一条语句,而在不满足该条件时执行其他语句。这时可以使用else语句,

3.if…else语句只能选择两种结果:要么执行真,要么执行假。但有时会出现两种以上的选择,例如:一个班的考试成绩,如果是90分以上,则为“优秀”;如果是60~90分之间 间 的 ,则为“良好”;如果低于60分,则为“不及格”。这时可以使用elseif(也可以写作else if)语句来执行,

4.虽然elseif语句可以进行多重选择,但使用时十分繁琐。为了避免if语句过于冗长,提高程序的可读性,可以使用switch分支控制语句

参考链接:http://www.cnblogs.com/dianqijiaodengdai/p/6141949.html

总结:总是不太清楚强制转换不知道强制转换的形式。有时候不转换 输出答案就不对了。分不清 double类型和float类型。

(三)实验总结

本次实验总结,学号末位数是单数的同学完成选择结构(2)中的1、5、7、9题,学号末位数是双数的同学完成选择结构(2)中的2、4、6、8题。

7-2 比较大小

本题要求将输入的任意3个整数从小到大输出。

(2)流程图

(3)源代码

#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%d->%d->%d",a,b,c);
}

(4)实验分析

在做这个题的过程中 搞不清楚 谁给谁赋值 思路不清楚 想了好一会儿才反应过来。

(5)本题PTA提交列表

7-4 高速公路超速处罚

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

(2)流程图

(3)源代码

#include<stdio.h>
int main(void)
{
double m = 0.0,s = 0.0,l = 0.0,p;
scanf("%d%d",&s,&l);
m = (s - l) / l;
p = m * 100;
if(m < 0.1)
{
printf("OK");
}
else if(m < 0.5)
{
printf("Exceed %.0f%%. Ticket 200",p);
}
else
{
printf("Exceed %.0f%%. License Revoked",p);
}
return 0;
}

(4)实验分析

超出百分之多少 不会算 属于数学问题

(5)本题PTA提交列表

7-6 计算油费现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。

本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。

(2)流程图

(3)源代码

#include<stdio.h>
int main(void)
{
int a,b,c;
double m;
scanf("%d%d %c",&a,&b,&c);
switch(b)
{
case 90:
m = 6.95 * a;
break;
case 93:
m = 7.44 * a;
break;
default:
m = 7.93 * a;
break;
}
if(c == 'm')
{
m = m * 0.95;
}
else
{
m = m * 0.97;
}
printf("%.2f",m);
return 0; }

(4)实验分析

必须有break 否则程序无法跳出

(5)本题PTA提交列表

7-8 12-24小时制

编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。

(2)流程图

(3)源代码

#include<stdio.h>
int main(void)
{
int a,b;
char c;
scanf("%d%c%d",&a,&c,&b);
if(a>12)
{
a=a-12;
printf("%d:%d PM",a,b);
}
else if(a==12)
{
printf("%d:%d PM",a,b);
}
else
{
printf("%d:%d AM",a,b);
}
return 0;
}

(4)实验分析

scanf需要用& 而printf不需要 否则将无法正常输出。

(5)本题PTA提交列表

(四)博客互评

http://www.cnblogs.com/rjp123/p/7778689.html

http://www.cnblogs.com/xing--/p/7764421.html

http://www.cnblogs.com/longv587/p/7786770.html

---恢复内容结束---

c语言第四次作业e的更多相关文章

  1. 网络1711班 C语言第四次作业批改总结

    网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...

  2. C语言--第四次作业--数组

    1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 不知不觉都快学习C语言结束了,自从开始了数组的学习就感觉难度瞬间几何级上升鸭(让人头大,感觉到了各种绝望), ...

  3. C语言第四次作业-嵌套作业

    一.PTA实验作业 题目1:7-4 换硬币 1. 本题PTA提交列表 2.设计思路 第一:定义三个整型变量f,t,o,分别代表五分,两分,一分的数量 第二:输入待换金额x 第三:令f=x/5;t=x/ ...

  4. C语言第四次作业--嵌套循环

    一.PTA实验作业 题目1:打印九九口诀表 1.本题PTA提交列表 2.设计思路 (1)定义三个整形变量n,j,i,n表示任意给定的正整数. (2)输入一个正整数n. (3)令i=1,i<=n, ...

  5. c语言第四次作业

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

  6. C语言——第四次作业(2)

    作业要求一 项目wordcount 设计思路:输入需统计的文件名,打开此文件,输入功能对应的字符,分别实现对应的功能,关闭文件. 主要代码 #include<stdio.h> #inclu ...

  7. C语言——第四次作业

    题目 题目一:计算分段函数 1.实验代码 #include <stdio.h> int main() { double x,y; scanf("%lf",&x) ...

  8. C语言--第四次作业

    作业要求一 (70分) 实践最简答的项目wordcount,必须完成其中的基本功能,若可以完成其他功能给予加分.完成后请将你的设计思路.主要代码写在本次作业博客里. 真的迷茫<(_ _)> ...

  9. C语言程序设计第二次作业--顺序结构

    C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...

随机推荐

  1. Python内置函数(3)——max

    英文文档: max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) Return the largest item in an i ...

  2. OAuth2.0学习(1-10)新浪开放平台微博认证-手机应用授权和refresh_token刷新access_token

    1.当你是使用微博官方移动SDK的移动应用时,授权返回access_token的同时,还会多返回一个refresh_token: JSON 1 2 3 4 5 6 {     "access ...

  3. 创建以mybatis为基础的web项目(2)mabitis中的一对一关系项目实战

    mabitis中的一对一关系项目实战: 1.首先根据创建以mybatis为基础的web项目(1)中的流程将web项目部署好 打开IDE,建立web工程 在lib下面粘贴mybatis的jar,log4 ...

  4. redis从入门到

    下载 首先我们要到GitHub(https://github.com/MicrosoftArchive/redis/releases)上下载Source code (tar.gz) 上传到Linux上 ...

  5. [论文阅读]VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGGNet)

    VGGNet由牛津大学的视觉几何组(Visual Geometry Group)提出,是ILSVRC-2014中定位任务第一名和分类任务第二名.本文的主要贡献点就是使用小的卷积核(3x3)来增加网络的 ...

  6. JSON.stringify()和JSON.parse()分别是什么

    JSON.stringify() 从一个对象中解析出字符串 JSON.stringify({"a":"1","b":"2" ...

  7. 使用vue-cli快速搭建大型单页面应用开发环境

    工作环境:terminal,已经全局安装了vue(可使用npm install -g vue) 全局安装vue-cli npm install -g vue-cli 创建一个基于webpack模板的项 ...

  8. C#标记 [已弃用] 的方法

    [Obsolete]//标记该方法已弃用 /// <summary> /// 你应该调用本类的 OpenMessageBox 方法 /// </summary> public ...

  9. 使用tkinter加载png,jpg

    最近来使用tkinter加载图片时遇到了困难,按照资料写了 photo = PhotoImage(file='ques.png') imglabel = Label(root, image=photo ...

  10. 【Swfit】Swift与OC两种语法写单例的区别

    Swift与OC两种语法写单例的区别 例如写一个NetworkTools的单例 (1)OC写单例 + (instancetype)sharedNetworkTools { static id inst ...