(一)改错题

计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数。

输入输出样例1:

  Enterr x: 10.0

  f(10.0) = 0.1

输入输出样例2:

  Enter x: 234

  f(234.0) = 234.0

源程序(有错误的程序)

  #include <stdio.h>
int main(void)
{
double x,y;
printf("Enter x: \n");
scanf("=%f", x);
if(x = 10);
{
y = 1 / x
}
else (x != 10)
{
y = x;
}
printf("f(%.2f) = %.lf\n" x y);
return 0;
}

(1)错误信息:

错误原因:在第9行结束时,少些了 ”;“。

改正方法:在第9行最后加英文分号。

(2)错误信息:

错误原因:else后不能直接加判断条件。

改正方法:在else后加if。

(3)错误信息:

错误原因:在输入时没有加”&“。

改正方法:在输入中x前加&。

(4)错误信息:

错误原因:if判断语句后不能加分号。

改正方法:把if判断语句后的分号删除。

(5) 错误信息:

错误原因:输出语句中,分号后应该加逗号,x y之间也应用逗号分开,不能使用空格。

改正方法:在输出语句中分号后加逗号,x y之间也加逗号。

(6)错误信息

错误原因:在输入时应为 “%lf”.。

改正方法:在输入那 f 前加 l。

(7)错误信息:运行的结果不对。

错误原因:



“=”一个等号表示赋值;“==”两个等号才是等于。

改正方法:在if判断那x后再加一个等号。

(8)错误信息:



错误原因:在输入的时候没有换行。

改正方法:把printf中的“\n"去掉。

(9)错误信息:

错误原因:scanf输入时没有等号。

改正方法:把scanf输入的等号去掉。

(10)错误信息

错误原因:输出是都是保留一位小数,f括号里保留了两位小数,结果输出错误。最后输出时不能用 "l" ,要用 ”1“。

改正方法:printf("f(%.2f) = %.lf\n" x y); 改成 printf("f(%.1f) = %.1f\n" x y);

(11)正确的程序

(二)学习总结

1.if(a)if(b) x=x+1;else y=y+1; 的确切含义是什么?这个else应该和哪个if配对?如何明确表达这种配对方法?将该段代码按照规范化的格式进行书写。

(1)本题应该判断是否a且b,如果是计算x=x+1;如果不是,计算y=y+1。

(2)这个else应该和if(b)第二个if配对。

(3)加大括号,并且要字母缩进的形式写。

(4)

if(a&b)

{

x=x+1;

}

else

{

y=y+1;

}

2.C语言的表达式 (-10< x <10)能够表达x在区间(-10,10)吗?为什么?如果不能,正确的表达式应该怎么写?

(1)不能表达。

(2)原因:这种表达方式在c语言中要先从左到右的判断是真是假,是 0 还是 1,并不能用来表示这个区间的数。所以此种写法不正确。

(3)正确的表达方式: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;

}

(1)输入123a的输出结果:

(2)原因:当我们输入一个非法字符时,系统会认为输入自动停止,我们的 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;

}

(1)输入123 45的结果:



返回值为 2.

(2)输入123a的结果:



返回值为 1.

(3)原因时:n读取的是输入能读取的数 的个数。第二次输入时输入非法字符时系统如第一次一样自动停止读取数据,因此只读入一个数。所以第二次的返回值就是 1 .

修改程序(1),当输入非法数据时,输出“Input error!".样例如下:

include <stdio.h>

int main()

{

int a, b,n;

n = scanf("%d %d", &a, &b);

if(n == 2)

{

printf("a = %d, b = %d\n", a, b);

}

else

{

printf("Input error!");

}

return 0;

}

4.对其他你认为需要进行总结的内容进行总结。

(1)在输入的时候double类型的需要输入 ”%lf“ 不能丢掉 ”l“。

(2)在输入时也要记得取地址符&。

(3)在写if条件语句是,if后不能加分号。并且要注意格式的书写。

(4)输出的格式要和题目中的格式一样。

(三)实验总结

1.计算分段函数

(1)题目

本题目要求计算下列分段函数f(x)的值:



注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。

(2)流程图

(3)源代码

(4)测试数据及运行结果

输入样例1: 10

      输入样例2:      -0.5

(5)实验分析

问题:double类型的输入出现错误。

原因:容易忘记写“l"

解决办法:多加注意输入的格式。

2.算术入门之加减乘除

(1)题目

对于输入的两个整数,按照要求输出其和差积商。

(2)流程图

(3)源代码

(4)测试数据及运行结果

输入样例1: 6 3

      输入样例2:      8 6

(5)实验分析

问题:除法运算时的判断。

原因:两个整数相除,有可能除尽,有可能除不尽。

解决办法:分情况进行判断,然后在计算。

3.输出三角形面积和周长

(1)题目

本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。

注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。

(2)流程图

(3)源代码

(4)测试数据及运行结果

输入样例1: 5 5 3

      输入样例2:    1 4 1

(5)实验分析

问题:输出的格式,在PTA中提交时出现格式错误。

原因:输出是的两个之间时分号加空格,没有看清。

解决办法:复制题目中的输出格式,进行修改,不容易出现错误。

4.出租车计价

(1)题目

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

• 起步里程为3公里,起步费10元;

• 超起步里程后10公里内,每公里2元;

• 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;

• 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

(2)流程图

(3)源代码

(4)测试数据及运行结果

输入样例1: 2.6 2

      输入样例2:      5.1  4

      输入样例3:      12.5  9

(5)实验分析

问题:判断停车时间的费用计算错误。

原因:读题不清,没有理解对。

解决办法:认真读题,看清问题在进行解答。

(四)PTA提交列表

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

  1. C语言程序设计第三次作业--选择结构(1)

    Deadline: 2017-10-29 22:00 一.学习要点 掌握关系运算符和关系表达式 掌握如何判断两个实数相等 掌握常用数学函数的使用 掌握逻辑运算符和逻辑表达式 理解逻辑运算的短路特性 掌 ...

  2. C 语言学习 第三次作业总结

    本次作业内容: For循环的使用 If判断语句的使用 常用数学运算表达式的使用 数学函数库中几个常见函数的使用及自我实现 将操作代码提交到coding 作业总结: For循环是C语言中一种基本的循环语 ...

  3. C语言程序设计第三次作业

    态度决定一切,无论做什么事情,秉持一个认真的态度,相信一定会让你受益无穷.当提交作业时,如果只是粘贴一下代码和运行结果,那么,你也只是写了一个程序而已,对你自己水平的提升帮助并不大,这次犯的错误或许下 ...

  4. C语言程序设计第三次作业——选择结构(1)

    一.改错题 1.题目计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 源程序(有错误的程序): #include <stdio.h> int main ...

  5. C语言程序设计第三次作业——选择结构(一)

    (一)改错题 错误信息: 错误原因:y=1/x后没加分号 改正方法:在其后加上分号 错误信息: 错误原因:if语句后接了:,使else语句找不到对应的if 改正方法:删掉if后的分号 错误信息: 错误 ...

  6. C语言程序设计第三次作业 —— 选择结构(1)

    (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. (错误一) 错误原因及改正:第九行语句结尾缺少半角分号,添加分号即可改正 (错误二) 错误原因及改 ...

  7. C语言程序第三次作业

    (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 输入输出样例1: Enterr x: 10.0 f(10.0) = 0.1 输入输出样例2: En ...

  8. c语言基础课第三次作业

    7-1找出最小值 1.实验代码 #include <stdio.h> int main(void) int n, i, m, min; scanf("%d", & ...

  9. C语言基础第三次作业

    题目7-1,寻找最小值 1.实验代码: #include<stdio.h> int main() { int i,mark,min,n; scanf("%d", &am ...

随机推荐

  1. $.each遍历json数组

    1.遍历单层json数组 我们把idx和obj都打印出来看看,到底是什么东西 var json1 =[{"id":"1","tagName" ...

  2. 第二章 初识JSP

    第二章   初识JSP 一.JSP简述 1.是JSP JSP是指在HTML中嵌入Java脚本语言.全称(Java Server Pages) 当用户通过浏览器访问Web应用时,使用JSP容器对请求的J ...

  3. Delphi Web开发连载 --ThinkDelphi (序)

    如果把Delphi比作男人,那他曾经独步天下,笑傲江湖过: 如果把Delphi比作女子,那她曾经貌美如花,倾国倾城过! 但那只是历史,那只是曾经, 弹指一挥间,Delphi却似乎英雄迟暮,美人已老.. ...

  4. SpringCloud的配置管理:Spring Cloud Config

    演示如何使用ConfigServer提供统一的参数配置服务 ###################################################################一.概 ...

  5. 粒子系统(二):Canvas绘制精美图案

    准备 IDE:Visual Studio Code Language:JavaScript / ECMAScript 6+ GitHub:Natural2D.JS 本文主要讲述 Particles - ...

  6. Oracle update 执行更新操作后的数据恢复

    操作数据库,经常会出现误操作,昨天执行的更新操作之后发现更新错了,只能想办法数据恢复了,现在整理一下 第一步:查询执行更新操作的时间 select r.FIRST_LOAD_TIME,r.* from ...

  7. python与mongodb的交互 增删改差

    首先引入包: pip install pymongo需要用到如下对象: MongoClient对象:用于与MongoDB服务器建立连接 client=MongoClient('主机ip',端口) Da ...

  8. Xshell与虚拟机不能正常连接

    1.发现Xshell与虚拟机下的两个CentOS都不能正常连接,在这些系统下采用ifconfig查询发现eth0都没有ip地址,进而想到可能是虚拟机的设置出了问题,后来又想到自己之前曾经尝试过设置VM ...

  9. 最新版Charles破解方法(Mac+Windows).md

    Charles 破解 去网站 http://charles.iiilab.com/ 下载相对应的版本 下载破解文件 charles.jar http://charles.iiilab.com/ 替换掉 ...

  10. C#之Message(转)

    一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理. 什么是消息(Message) 消息就是通知和命令. ...