c语言第三次作业。
---恢复内容开始---
(一)改错题
计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数。
源代码 :

第一次编译:


错误原因:if 后面有分号
改正方法:去掉分号
第二次编译:


错误原因:第九行少分号
改正方法:在第九行的最后加上分号
第三次编译:


错误原因:else后面有条件判断
改正方法:把else后的 条件 删掉
第四次编译:


错误原因:x y 前面没有逗号 xy之间没有逗号
改正方法:在引号后面 xy前面加上逗号 在xy中间加上逗号
错误信息:

错误原因:x保留了两位小数
改正方法:%.2f 变成%.1f
错误信息:

错误原因:scanf语句没有加取地址符号
改正方法:在scanf语句加上取地址符号
错误信息:

错误原因:if后面的判断语句应该用== 而不是=
改正方法:把=改成==
错误信息

错误原因:最后的输出语句把1f写成了lf
改正方法:把lf改成1f
错误信息:

错误原因:输入数字的类型与定义的类型不一样
改正方法:把double 改成float
第一组数据正确

第二组数据正确

最终代码:
include <stdio.h>
int main(void)
{
float x,y;
printf("Enter x:");
scanf("%f",&x);
if(x == 10)
{
y = 1 / x;
}
else
{
y = x;
}
printf("f(%.1f) = %.1f\n",x,y);
return 0;
}
(二)学习总结
1.if(a)if(b) x=x+1;else y=y+1; 的确切含义是什么?这个else应该和哪个if配对?如何明确表达这种配对方法?将该段代码按照规范化的格式进行书写。
答:此代码的含义是 判断a和b是否同时满足,如果同时满足,则x=x+1;否则y=y+1.
代码应为:
if(a&&b)
{x=x+1;
}
else
{y=y+1;
}
2.C语言的表达式 (-10< x <10)能够表达x在区间(-10,10)吗?为什么?如果不能,正确的表达式应该怎么写?
答:不能这样写 应该是 ((x>-10)&&(x<10))
3.C语言中输入数据时,如果遇到非法字符,则认为输入结束。运行程序(1),输入123a,看看输出结果是什么?你能解释是为什么吗?,
程序(1)
include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("a = %d, b = %d\n", a, b);
return 0;
}
输出结果:

程序在遇到非法运算符时就会停止赋值并且将非法运算符前面的数值赋给a将1赋给b。
scanf()函数的返回值是成功读入数据的个数,如果没有读取任何数据,则返回0。运行程序(2),分别输入123 45和123a,看看输出结果是什么?为什么?
程序(2)
include <stdio.h>
int main()
{
int a, b,n;
n = scanf("%d %d", &a, &b);
printf("n = %d\n", n);
return 0;
}
输入结果:

scanf()函数的返回值是成功读入数据的个数 输入了两个数 所以n=2

输入123a的时候遇到了非法运算符a无法继续读取你所输入的值所以只正确读取一次n=1
修改程序(1),当输入非法数据时,输出“Input error!".样例如下:


修改后的代码:

4.对其他你认为需要进行总结的内容进行总结。
敲代码 是一个需要细心和耐心的工作 可能一个小小的逗号分号就能导致错误。
(三)实验总结
本次实验总结,学号末位数是单数的同学完成选择结构(1)中的3、5、7、9题,学号末位数是双数的同学完成选择结构(1)中的2、4、6、8题。
(三)(实验总结)
(1) 计算分段函数

(2)流程图

(3)源代码
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x >= 0)
{
y = sqrt(x);
}
else
{
y = (x+1)(x+1)+2x+1/x;
}
printf("f(%0.2f) = %0.2f",x,y);
return 0;
}
(4)测试数据及运行结果

(5)实验分析
保留两位小数应该是%0.2f
2.算术入门之加减乘除
对于输入的两个整数,按照要求输出其和差积商。
(2)流程图:

(3)源代码
include<stdio.h>
int main()
{
int a,b,c,d,e,g;
double f;
scanf("%d %d",&a,&b);
c = a + b;
d = a - b;
e = a * b;
f =(double)a / b;
g = a / b;
printf("%d + %d = %d\n",a,b,c);
printf("%d - %d = %d\n",a,b,d);
printf("%d * %d = %d\n",a,b,e);
if(a%b == 0)
{
printf("%d / %d = %d\n",a,b,g);
}
else
printf("%d / %d = %.2f\n",a,b,f);
}
(4)测试数据及运行结果

(5)实验分析
注意类型转换 还需加强练习
7-6 输出三角形面积和周长
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√
s(s−a)(s−b)(s−c)
,其中s=(a+b+c)/2。
(2)流程图

(3)源代码
include<stdio.h>
include<math.h>
int main()
{
int a,b,c;
float area,s,perimeter;
scanf("%d %d %d",&a,&b,&c);
s=(a+b+c)/2;
if((a+b>c)&&(b+c>a)&&(a+c>b))
{
area = sqrt(s(s-a)(s-b)*(s-c));
perimeter = a+b+c;
printf("area = %.2f;perimeter = %.2f",area,perimeter);
}
else
printf("These sides do not correspond to a valid triangle");
}
(4)测试数据及运行结果

(5)实验分析
边长的范围总是搞错
7-8 出租车计价(10 分)
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
(2)流程图

(3)源代码
include<stdio.h>
int main()
{
float a,b;
int x,y,z;
scanf("%f %d",&a,&x);
y=(x/5)2;
if(a<=3.0)
{
b=10+y;
z=(int)(b+0.5);
printf("%d",z);
}
else if(a>3&&a<10)
{
b=10+(a-3)2+y;
z=(int)(b+0.5);
printf("%d",z);
}
else
{
b=10+14+3*(a-10)+y;
z=(int)(b+0.5);
printf("%d",z);
}
return 0;
}
(4)运行结果

(5)实验分析
注意格式 总是格式错误
(四)PTA提交列表




---恢复内容结束---
c语言第三次作业。的更多相关文章
- C语言第三次作业总结
本次作业的亮点 总体情况 大部分同学基本掌握了单层循环结构的写法,懂得了代码调试的过程 PTA通过率及作业质量都不错,希望再接再厉 推荐博客 黄毓颖 推荐理由:代码思路清晰,格式良好:调试过程相当形象 ...
- C语言 第三次作业--函数
1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 学习C语言也半个学期了,前天也才刚刚进行了半期考试,emmm,成绩很差,可以反应出来我这半学期学习的效果并不 ...
- C语言第三次作业---单层循环结构
一.PTA实验作业 题目一.最佳情侣身高差 1.实验代码 int N;//存放输入的人数 char sex; double hight1,hight2;//分别存放输入的身高和输出的身高 scanf( ...
- C语言第三周作业---单层循环
一.PTA实验作业 题目1 1.实验代码 int N = 0,i; char sex; float a[9], height; scanf("%d\n", &N); for ...
- C语言第三次作业--嵌套循环
一.PTA实验作业 题目1:硬币数 1. 本题PTA提交列表 2. 设计思路 步骤一:定义整型变量fen5,fen2,fen1,表示1分2分和5分,零钱数额x,总硬币数total,换法count 步骤 ...
- C语言--第三周作业
一.PTA作业中4个题目 1.7-9 A乘以B 要求:输入的两个整数:A是你学号前两位数字,B是你学号后两位数字 a.代码 #include <stdio.h> int main () { ...
- C语言——第三次作业
题目1.A乘以B 1.实验代码 #include <stdio.h> int main() { int A,B,C; scanf("%d %d",&A,& ...
- C语言——第三次作业(2)
作业要求一 PTA作业的提交列表 第一次作业 第二次作业 一道编程题: 有一个axb的数组,该数组里面顺序存放了从1到a*b的数字.其中a是你大学号的前三位数字,b是你大学号的后四位数字,比如你的学号 ...
- C语言--第三周作业评分和总结(5班)
作业链接:https://edu.cnblogs.com/campus/hljkj/CS2017-5/homework/1073 一.评分要求 要求1 完成PTA第三周所有题(20分). 要求2 4道 ...
随机推荐
- 03-移动端开发教程-CSS3新特性(下)
1. CSS3动画 1.1 过渡的缺点 transition的优点在于简单易用,但是它有几个很大的局限. transition需要事件触发,所以没法在网页加载时自动发生. transition是一次性 ...
- Nginx在windows环境下的安装与简单配置
版权声明:本文为博主原创文章,未经博主允许不得转载. 一. 下载并安装Nginx 去Nginx官网下载 我这里选取nginx/Windows-1.10.3版本,下载后解压出来即可,解压出来的路径不能含 ...
- [JCIP笔记] (三)如何设计一个线程安全的对象
在当我们谈论线程安全时,我们在谈论什么中,我们讨论了怎样通过Java的synchronize机制去避免几个线程同时访问一个变量时发生问题.忧国忧民的Brian Goetz大神在多年的开发过程中,也悟到 ...
- 2018年东北农业大学春季校赛-wyh的吃鸡
BFS: 1. 从起点开始BFS,遇到X点则return: 2. vis[px][py][0]代表经过pxpy这点前还没有找到车: vis[px][py][1]代表经过pxpy这点前已经找到车: 3. ...
- ( 转 ) CORS 有一次 OPTIONS 请求的原理
刚接触前端的时候,以为HTTP的Request Method只有GET与POST两种,后来才了解到,原来还有HEAD.PUT.DELETE.OPTIONS-- 目前的工作中,HEAD.PUT.DELE ...
- axure 预览"HTTP/1.1 302 Found"
使用Axure编辑原型时,点击预览出现"HTTP/1.1 302 Found" 第一想到的就是重新安装Axure和检查原型文件是否损坏,验证后证明前Axure和.rp文件都是完好的 ...
- js控制表格实时编辑
点击添加,在表格的最后一行添加一行表单元素,右侧按钮变为保存和取消.(点击保存,数据用ajax无刷新添加到界面,点击取消,取消此行的添加.)点击编辑,在本行改为表单,带有原来的值,右侧按钮变为确认和取 ...
- Spring Security 入门(1-7)Spring Security - Session管理
参考链接:https://xueliang.org/article/detail/20170302232815082 session 管理 Spring Security 通过 http 元素下的子元 ...
- JS笔记(一)
第一章: 编写JS流程: 1. 布局:HTML和CSS 2. 样式:修改页面元素样式,div的display样式 3. 事件:确定用户做什么操作,onclick(鼠标点击事件).onmouseo ...
- tomcat 热替换class
需要在server.xml中做以下配置: 在host节点内加入<Context>标签,reloadable属性设置为true. <Host name="localhost& ...