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道 ...
随机推荐
- Microsoft dynamic 批量更新
//批量处理 ExecuteMultipleRequest multipleRequest = new ExecuteMultipleRequest() { Settings = new Execut ...
- volt问题
1./表示当前目录:/college/detail/{{ item.sid }}表示这个路径超链接,url实在不好写就不写,作为开发人员想怎么弄就怎么弄最后发布是项目主管的事 2.不需要服务器给值,直 ...
- vue组件详解(三)——组件通信
组件之间通信可以用下图表示: 组件关系可分为父子组件通信.兄弟组件通信.跨级组件通信. 一.自定义事件 当子组件需要向父组件传递数据时,就要用到自定义事件. 子组件用$emit ()来触发事件,父组件 ...
- JS 实现MVC的写法
案例:当select 下拉选择框值变化时,显示其值(不是文本) 常规写法 <h3>JavaScript no MVC</h3> <div> <selec ...
- Jmeter入门(01)Jmeter的下载和安装
一.什么是Jmeter 1.一款优秀的.开源的.免费的.功能测试和性能测试 工具 Jmeter ,使用Java开发的一款优秀的开源免费测试工具,主要用来做功能测试和性能测试(压力测试/负载测试),用J ...
- 启动mongodb遇到的错:warning: 32-bit servers don't have journaling enabled by deflity
执行修复:mongod --repair即可 正常关闭:killall mongod
- Django 基于session认证 小作业
基于session认证 相亲小作业 用户登录 如果男用户登录,显示女生列表 如果女用户登录,显示男生列表 """s4day74 URL Configuration Th ...
- Linux下wget获取ftp下目录下文件
如果某个目录下有一个文件可以使用ftp命令: get xxx 如果是某个目录下有多个文件(且不需要获取目录下子文件夹下的内容): mget * 如果是某个目录下有子目录希望获取所有子目录: wget ...
- POJ-3255 Roadblocks---Dijkstra队列优化+次短路
题目链接: https://vjudge.net/problem/POJ-3255 题目大意: 给无向图,求1到n的次短路长度 思路: 由于边数较多,应该使用dijkstra的队列优化 用d数组存储最 ...
- ZOJ-1586 QS Network---最小生成树Prim
题目链接: https://vjudge.net/problem/ZOJ-1586 题目大意: 首先给一个t,代表t个测试样例,再给一个n,表示有n个QS装置,接下来一行是n个QS装置的成本.接下来是 ...