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道 ...
随机推荐
- 《javascript设计模式与开发实践》阅读笔记(15)—— 装饰者模式
装饰者模式 可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象.在程序开发中,许多时候都并不希望某个类天生就非常庞大,一次性包含许多职责.那么我们就可以使用装饰者模式. 代码例 ...
- Postgres中postmaster代码解析(上)
之前我的一些文章都是在说Postgres的一些查询相关的代码.但是对于Postgres服务端是如何启动,后台进程是如何加载,服务端在哪里以及如何监听客户端的连接都没有一个清晰的逻辑.那么今天我来说说P ...
- 原生JavaScript实现页面回到顶部的功能
/*如果想实现点击一个按钮让滚动条回到最顶部的功能,首先可能就会想到它是从底部位置移动到顶部的位置 它是一个运动的过程,只要知道当前位置(current Position)和想要到达的位置(targe ...
- spring-oauth-server实践:使用授权方式四:client_credentials 模式下access_token做业务!!!
spring-oauth-server入门(1-10)使用授权方式四:client_credentials 模式下access_token做业务!!! 准备工作 授权方式四::客户端方式: 服务网关地 ...
- 实现一个网易云音乐的 BottomSheetDialog
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...
- Python基础数据类型之列表和元组
一.列表 list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...
- VCS使用学习笔记(1)——Verilog相关的仿真知识
本文主要学习Verilog的仿真特性,以及仿真器对Verilog的处理,算是对Verilog知识的增量学习.本文内容与我的另一篇博文(http://www.cnblogs.com/IClearner/ ...
- python Flask
python Flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请 ...
- Java-NIO(三):直接缓冲区与非直接缓冲区
直接缓冲区与非直接缓冲区的概念: 1)非直接缓冲区:通过 static ByteBuffer allocate(int capacity) 创建的缓冲区,在JVM中内存中创建,在每次调用基础操作系统的 ...
- Java-Maven(二):Maven常用命令
Maven命令简介 Maven提供了一套命令可以用来创建java工程.编译.打包等操作.通过这些命令来处理工作变得更方便.简洁. Maven工程结构和内容被定义在pom.xml文件中,全称projec ...