C语言程序设计第三次作业
(一)改错题
计算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:
错误原因:第九行的算式后面没有加分号。
改正方法:在第九行的算式后面加上分号。
错误信息2:
错误原因:第七行判断语句后面多加了分号。
改正方法:删去第七行后面的分号。
错误信息3:
错误原因:第十一行else语句后面多了条件。
改正方法:删去第十一行后面的条件。
错误信息4:
错误原因4:第十五行引号后面少了逗号。
改正方法:在第十五行引号后面加上逗号。
错误信息5:
错误原因:第十五行变量之间少了逗号。
改正方法:在第十五行变量之间加上逗号。
错误信息6:
错误原因:第一个输出语句多加了\n。
改正方法:删去\n。
错误信息7:
错误原因:最后的输出语句x对应的值错了。
改正方法:把第十五行的输出语句中的变量 x 对应的 %.2f 改为 %.1f 。
错误信息8:
错误原因:输入语句后面没有加取地址符。
改正方法:在输入语句x前面加上取地址符。
错误信息9:
错误原因:第十五行的输出语句中变量 y 对应的为 %.lf 。
改正方法:把第十五行的输出语句中的变量 y 对应的 %.lf 改为 %.1f 。
错误信息10:
错误原因:第六行的输入语句中 &x 对应的为 =%f。
改正方法:把第六行的输入语句中 &x 对应的 =%f 改为 %lf。
错误信息11:
错误原因:判断语句条件错误。
改正方法:条件中再加一个“=”号。
(二)学习总结
1.if(a)if(b) x=x+1;else y=y+1; 的确切含义是什么?这个else应该和哪个if配对?如何明确表达这种配对方法?将该段代码按照规范化的格式进行书写。
答:确切含义为若同时符合条件a,b则运行x=x+1;若不符合条件a,则运行y=y+1。
else和离它最近的第二个if配对。
代码:
if(a)
{if(b){x=x+1;}
}
else
{y=y+1;
}
2.C语言的表达式 (-10< x <10)能够表达x在区间(-10,10)吗?为什么?如果不能,正确的表达式应该怎么写?
答:不能。因为条件从左到右运行。
正确表达式应为:
if(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;
}
输入123a后结果为:
原因:遇到非法字符%d不能识别,所以输出结果错误,有问题,123a为一个数据,相当于b没有输入数据,所以输出为随机数1。
scanf()函数的返回值是成功读入数据的个数,如果没有读取任何数据,则返回0。运行程序(2),分别输入123 45和123a,看看输出结果是什么?为什么?
程序(二)
#include <stdio.h>
int main()
{ int a, b,n;n = scanf("%d %d", &a, &b);printf("n = %d\n", n);return 0;
}
输出结果:
当你成功输入两个变量的时候第一次两个变量都合法,所以n读出为2。当你输入123a的时候含有非法字符,它不能读取出来,所以n只能读出一个整形常量,所以n=1。
修改程序(1),当输入非法数据时,输出“Input error!".样例如下:
4.对其他你认为需要进行总结的内容进行总结。
在用else if语句的时候要注意每个else和if的对应关系,每个else,if语句执行时要加上中括号。
注意else if后面不能加分号。
不能忘了在输入语句后面的变量前面加取地址符。
(三)实验总结
(1)题目
判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。
(2)流程图
(3)源代码# include<stdio.h>
int main()
{
int n,w,q,s,g;
scanf("%d",&n);
w=n/10000;
g=n%10;
q=n/10%10;
s=n%10000/1000;
if(w==g && q==s )
{
printf("yes");
}
else
printf("no");return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题1:一开始不会分离各个位数。
解决办法:通过询问老师会了。
(1)题目
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
(2)流程图
(3)源代码# include <stdio.h>
int main()
{
int a,b,c,d,s,f,m,n;
scanf("%d %d",&m,&n);
a = m/100;
b = n/100;
c = m%100;
d = n%100;
f = (b-a)*60+(d-c);
s = f/60;
f = f%60;
if(0<s<10)
{
if(0<f<10)
{
printf("%02d:%02d",s,f);
}
else
{
printf("%02d:%d",s,f);
}
}
else
{
if(24>=s>=10)
{
if(0<f<10)
{
printf("%d:%02d",s,f);
}
else
{
printf("%d:%d",s,f);
}
}
}return 0;
}
(4)测试数据及运行结果
(5)实验分析
问题:一开始没有考虑小于10分钟的情况。
解决办法:加了一个判断条件。
(1)题目
中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
(2)流程图
(3)源代码# include <stdio.h>
int main()
{
int n,m;scanf("%d",&n);m = n%5;if (1000>=n>0);{if(m==0){printf("Drying in day %d",n);}else{if(m<=3){printf("Fishing in day %d",n);}else{printf("Drying in day %d",n);}}}return 0;
}
(4)测试数据及实验结果
(1)题目
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
(2)流程图
(3)源代码# include <stdio.h>
int main()
{
int n;
double m;
scanf("%d",&n);
if(n>=0)
{
if(n<=50)
{
m = n0.53;
printf("cost = %.2f",m);
}
else
{
m = 500.53+(n-50)*0.58;
printf("cost = %.2f",m);
}
}
else
{
printf("Invalid Value!");
}
return 0;
}
(4)测试数据及运行结果
(四)PTA提交列表
转载于:https://www.cnblogs.com/lyw7777777/p/7748594.html
C语言程序设计第三次作业相关推荐
- C语言程序设计第三次作业——选择结构(1)
(一)改错题 将源程序进行编译,发现有错误信息: 错误信息1 错误原因:scanf语句中没有用"&" 改正方法:在x前加上"&" 错误信息2 错 ...
- 2014年秋广州华师在线计算机的作业答案,18秋华师《C语言程序设计B》在线作业-4辅导资料...
18秋华师<C语言程序设计B>在线作业-4辅导资料 (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 2.90 积分 18秋华师<C语 ...
- 东北大学java期末试卷,[东北大学]18年6月考试《Java语言程序设计I》考核作业(答案)...
Java语言程序设计 I 试 卷(作业考核 线上) B 卷 学习中心: 院校学号: 姓名 (共 页) 总分 题号 一 二 三 四 ...
- 华师c语言作业,C语言程序设计(华师在线作业)1.doc
C语言程序设计(华师在线作业)1 本学期作业以附件形式完成1. 完成一个大小写字母自动转换的程序,输入大写字母,程序可以输出小写字母,输入小写字母,可以输出大写字母2. 用三种循环方式实现1-100的 ...
- C语言程序设计(本) 阶段作业,武汉理工大学继续教育《C语言程序设计(本)》在线作业答案...
<武汉理工大学继续教育<C语言程序设计(本)>在线作业答案>由会员分享,可在线阅读,更多相关<武汉理工大学继续教育<C语言程序设计(本)>在线作业答案(11页 ...
- c语言程序设计电大作业,电大C语言程序设计第1234次作业及答案
<电大C语言程序设计第1234次作业及答案>由会员分享,可在线阅读,更多相关<电大C语言程序设计第1234次作业及答案(27页珍藏版)>请在人人文库网上搜索. 1.M資妄 呦圧 ...
- C语言程序设计有哪几种结构,第章c语言程序设计的三种基本结构.ppt
第章c语言程序设计的三种基本结构 北京科技大学 计算机系 第2章 C语言程序设计 的三种基本结构 2.1 顺序结构程序设计 2.1.1 C语句 2.1.2 字符数据的输入与输出 2.1.3 格式输入与 ...
- 程序设计第三次作业附加 代码规范
题目:第三次作业附加 myGithub 我的程序设计第三次作业 Calculator.h //==============================// //文件名称:calculator.h ...
- c语言程序设计编程解读,C语言程序设计第三次实验报告解读
<C语言程序设计第三次实验报告解读>由会员分享,可在线阅读,更多相关<C语言程序设计第三次实验报告解读(15页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计实验报告专业 ...
最新文章
- [转]SQLServer和Oracle,存储过程区别,常用函数对比
- JavaScript [ 转 ] —— 面向对象编程(三):非构造函数的继承
- 使用Notepad++ 删除非连续的列内容操作实例
- 枚举IHTMLDocument2中所有IFRAME的内容
- boost::json模块实现远程过程调用的测试程序
- Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
- 2017江苏事业单位计算机类,2017年上半年江苏事业单位计算机岗真题
- JavaScript 图片切换展示效果
- jstack 脚本 自动日志_运维老司机又翻车, 居然没用过日志切割Logrotate
- Leetcode 58 之反向迭代器的使用
- MapReduce分布式编程框架
- 基于GJB438C-2021的软件需求规格说明
- 三星linux打印机驱动官网下载,三星M2621打印机驱动下载
- 基于LPC2148的音频分析仪设计
- 基于springboot编写的小程序幸运转盘抽奖功能
- python单词表首字母排序_python3 列表排序(字母顺序排序、字母相反顺序排序和倒序)...
- 解决以Error: GlobalConfigUtils setMetaData Fail ! 为基础的嵌套问题(包括common troller,commonservice等问题)
- 选择示波器要考虑的十大因素
- 嵌入式培训学费贵不贵?
- .net连接Access 2000或Access 2007