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道 ...
随机推荐
- python __str__ 和__repr__方法
看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): self.data = value >> ...
- SpringMvc返回报文形式的控制-验证方法: JSON or HTML or XML
首先,请求通过accept请求头声明了支持的返回格式 然后,框架根据该请求头和代码实现(注解)选择了对应的MessageConverter处理返回! 一.验证过程 1.返回html 1.1.请求组装 ...
- zuul入门(3)开发zuul的过滤器
1.编写Zuul过滤器(Java&Groovy) 理解过滤器类型和请求生命周期后,我们来编写一个Zuul过滤器.编写Zuul的过滤器非常简单,我们只需继承抽象类ZuulFilter,然后实现几 ...
- 重启Apache报错
重启Apache报错,如图所示:server: /etc/httpd/modules/mod_jk.so: wrong ELF class: ELFCLASS64 原因:mod_jd的版本有问题 解决 ...
- Android fragment切换后onresume时报 Attempt to write to field 'int android.support.v4.app.Fragment.mNextAnim'
动态加载fragment以后,调用了remove方法移除Fragment,在返回来的时候报 Attempt to write to field 'int android.support.v4.app. ...
- HTNL表单详解
HTML表单 表单的结构 表单的标签:<form> </form> 常用属性 Name , method(get,post), action(服务器的接收的页面如:reg.ph ...
- 面向对象进阶---attr家族
一. isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查obj是否是类 cls 的对象 class Foo: pass ob ...
- 使用net.sf.cssbox实现网页截图
需要引用包,在pom.xml中添加引用: <dependency> <groupId>net.sf.cssbox</groupId> <artifactId& ...
- 南京邮电大学java第一次实验报告
实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...
- hdu1443 Joseph---约瑟夫环
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1443 题目大意: 一共有2k个人,分别为k个好人和k个坏人,现在我们需要每隔m个人把坏人挑出来,但是 ...