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:
1245552-20171028214500086-1859061742.png
错误原因:第九行的算式后面没有加分号。
改正方法:在第九行的算式后面加上分号。
错误信息2:
1245552-20171028215733195-891838532.png
错误原因:第七行判断语句后面多加了分号。
改正方法:删去第七行后面的分号。
错误信息3:
1245552-20171028214737664-636025625.png
错误原因:第十一行else语句后面多了条件。
改正方法:删去第十一行后面的条件。
错误信息4:
1245552-20171028215928445-1990237794.png
错误原因4:第十五行引号后面少了逗号。
改正方法:在第十五行引号后面加上逗号。
错误信息5:
1245552-20171028220128773-1983631564.png
错误原因:第十五行变量之间少了逗号。
改正方法:在第十五行变量之间加上逗号。
错误信息6:
1245552-20171028220505351-674934047.png
错误原因:第一个输出语句多加了\n。
改正方法:删去\n。
错误信息7:
1245552-20171028220802430-827689891.png
错误原因:最后的输出语句x对应的值错了。
改正方法:把第十五行的输出语句中的变量 x 对应的 %.2f 改为 %.1f 。
错误信息8:
1245552-20171028221024226-611567926.png
错误原因:输入语句后面没有加取地址符。
改正方法:在输入语句x前面加上取地址符。
错误信息9:
1245552-20171028221352305-505713586.png
错误原因:第十五行的输出语句中变量 y 对应的为 %.lf 。
改正方法:把第十五行的输出语句中的变量 y 对应的 %.lf 改为 %.1f 。
错误信息10:
1245552-20171028221529836-1099836244.png
错误原因:第六行的输入语句中 &x 对应的为 =%f。
改正方法:把第六行的输入语句中 &x 对应的 =%f 改为 %lf。
错误信息11:
1245552-20171028221650398-187523399.png
错误原因:判断语句条件错误。
改正方法:条件中再加一个“=”号。

(二)学习总结
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后结果为:
1245552-20171028223125742-863889504.png
原因:遇到非法字符%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;
}

输出结果:
1245552-20171028224133883-1407305134.png
当你成功输入两个变量的时候第一次两个变量都合法,所以n读出为2。当你输入123a的时候含有非法字符,它不能读取出来,所以n只能读出一个整形常量,所以n=1。

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

1245552-20171028224505258-925660012.png

4.对其他你认为需要进行总结的内容进行总结。
在用else if语句的时候要注意每个else和if的对应关系,每个else,if语句执行时要加上中括号。
注意else if后面不能加分号。
不能忘了在输入语句后面的变量前面加取地址符。

(三)实验总结

  1. (1)题目
    判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。
    (2)流程图
    1245552-20171028230542633-1568456772.png
    (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)测试数据及运行结果
1245552-20171028230919789-428733730.png
(5)实验分析
问题1:一开始不会分离各个位数。
解决办法:通过询问老师会了。

  1. (1)题目
    本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
    (2)流程图
    1245552-20171028231328367-695657451.png
    (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)测试数据及运行结果
1245552-20171028231747930-213522459.png
(5)实验分析
问题:一开始没有考虑小于10分钟的情况。
解决办法:加了一个判断条件。

  1. (1)题目
    中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
    (2)流程图
    1245552-20171028232116680-1427192144.png
    (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)测试数据及实验结果
1245552-20171028232409945-424100731.png
1245552-20171028232458180-1565960074.png

  1. (1)题目
    为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
    (2)流程图
    1245552-20171028232624945-1007547576.png
    (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 = 50
    0.53+(n-50)*0.58;
    printf("cost = %.2f",m);
    }
    }
    else
    {
    printf("Invalid Value!");
    }
    return 0;
    }

(4)测试数据及运行结果
1245552-20171028233105539-1634675991.png
1245552-20171028233114586-84276328.png

(四)PTA提交列表
1245552-20171028233632883-539799040.png
1245552-20171028233643758-1657326358.png
1245552-20171028233654008-2109111992.png
1245552-20171028233709180-364818471.png

转载于:https://www.cnblogs.com/lyw7777777/p/7748594.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fpga mysql_FPGA的一些琐碎知识整理

1.生产FPGA的厂家有&#xff1a;ALTERAXILINXATCELLatticeps:Altera和Xilinx主要生产一般用途FPGA&#xff0c;其主要产品采用SRAM工艺Actel主要提供非易失性FPGA&#xff0c;产品主要基于反熔丝工艺和FLASH工艺ps: 熔丝&#xff0c;顾名思义&#xff1a;把丝熔掉&#xff0c;反…

C# 反射类Assembly用法举例

概述程序运行时&#xff0c;通过反射可以得到其它程序集或者自己程序集代码的各种信息&#xff0c;包括类、函数、变量等来实例化它们&#xff0c;执行它们&#xff0c;操作它们&#xff0c;实际上就是获取程序在内存中的映像&#xff0c;然后基于这个映像进行各种操作。Assemb…

团队作业

团队&组员&#xff1a; 没有组名&#xff0c;大概是因为我们组虽然有10个人&#xff0c;但是好像只起到人多的地方就容易开车搞笑&#xff0c;没有内涵&#xff0c;取出来的都是秋名山吴彦组这样的开车组名&#xff0c;在大家的的强烈建议和玩笑中&#xff0c;决定了没有组…

算法系列【希尔排序】篇

常见的内部排序算法有&#xff1a;插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括&#xff1a;关于时间复杂度&#xff1a;1. 平方阶 (O(n2)) 排序各类简单排序&#xff1a;直接插入、直接选择和冒泡排序。2. 线性对数…

sql查询索引语句_sql优化总结--基于sql语句优化和索引优化

概述最近做查询&#xff0c;统计和汇总。由于数据量比较庞大&#xff0c;大部分表数据上百万&#xff0c;甚至有的表数据上千万。所以在系统中做sql优化比较多&#xff0c;特此写一篇文章总结一下关于sql优化方面的经验。导致查询缓慢的原因1、数据量过大2、表设计不合理3、sql…

电商行业运维实践

电商行业运维实践&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;…

数据结构小总结(成都磨子桥技工学校数据结构前12题)

[pixiv] https://www.pixiv.net/member_illust.php?modemedium&illust_id34352147 暑假的作业&#xff0c;颓颓的我总算是写完了 线段树 线段树是一个高级玩意&#xff0c;不仅可以求区间和&#xff0c;区间最大等等的简单问题&#xff0c;灵活运用还有好多变种。自从学…

wav2midi 音乐旋律提取算法 附可执行demo

前面提及过&#xff0c;音频指纹算法的思路。 也梳理开源了两个比较经典的算法。 https://github.com/cpuimage/shazam https://github.com/cpuimage/AudioFingerprinter 后来一段时间&#xff0c;稍微看了下这两个算法&#xff0c;还有不少可以精简优化的空间。 例如抗噪&…

全新升级的AOP框架Dora.Interception[5]: 实现任意的拦截器注册方式

Dora.Interception提供了两种拦截器注册方式&#xff0c;一种是利用标注在目标类型、属性和方法上的InterceptorAttribute特性&#xff0c;另一种采用基于目标方法或者属性的调用表达式。通过提供的扩展点&#xff0c;我们可以任何我们希望的拦截器注册方式。目录一、IIntercep…

SCAU 算法课的题

8594 有重复元素的排列问题&#xff08;优先做&#xff09; 时间限制:1000MS 内存限制:1000K提交次数:1610 通过次数:656 题型: 编程题 语言: G;GCC;VC Description 设集合R{r1,r2,...,rn}是要进行排列的n个元素&#xff0c;其中r1,r2,...,rn可能相同。 试着设计一个算法&am…

react 数组新增_React 新特性 Hooks 讲解及实例(二)

本文是 React 新特性系列的第二篇&#xff0c;第一篇请点击这里&#xff1a;React 新特性讲解及实例什么是 HooksHook 是 React 16.8 的新增特性。它可以让你在不编写 类组件 的情况下使用 state以及其他的 React 特性。类组件的不足状态逻辑复用难缺少复用机制渲染属性和高阶组…

7天学会python_7天学会Python最佳可视化工具Seaborn(五):结构化展示多维数据

当探索具有中等数量(不多不少的意思……)维度的数据集时&#xff0c;一个很好的方式是基于不同的子数据集构建不同的实例&#xff0c;并将它们以网格的方式组织在一张图之中。这种技术有时被称为“lattice”或“trellis”(大概是格子图、网格图)&#xff0c;这跟“small multip…

面对峰值响应冲击,解决高并发的三大策略

2019独角兽企业重金招聘Python工程师标准>>> 当前在互联网的大潮下&#xff0c;众所周知淘宝、京东这些交易系统每天产生的数据量都是海量的&#xff0c;每天的交易并发也是惊人的&#xff0c;尤其是“双11”、“6.18”这些活动&#xff0c;对系统的峰值响应提出了非…

hibernate mysql 主从_MYSQL主从复制和写分离

基础篇https://edu.51cto.com/course/19845.htmlhttps://edu.51cto.com/course/19845.htmlhttps://edu.51cto.com/course/19841.htmlhttps://edu.51cto.com/course/21197.htmlhttps://edu.51cto.com/course/19886.htmlhttps://edu.51cto.com/course/19887.htmlhttps://edu.51ct…

全新升级的AOP框架Dora.Interception[6]: 框架设计和实现原理

本系列前面的五篇文章主要介绍Dora.Interception的编程模式以及对它的扩展定制&#xff0c;现在我们来聊聊它的设计和实现原理。目录一、调用链抽象二、基于约定的拦截器定义三、基于调用上下文的依赖注入容器四、拦截器的提供五、调用链的构建六、方法拦截的实现原理七、依赖注…

完成登录与注册页面的前端

完成登录与注册页面的HTMLCSSJS&#xff0c;其中的输入项检查包括&#xff1a; 用户名6-12位 首字母不能是数字 只能包含字母和数字 密码6-12位 注册页两次密码是否一致 JS&#xff1a; function fnLogin() {var uSer document.getElementById("user");var pAss do…

WPF效果第二百零一篇之实现合并单元格

早一段时间又一次出差青海省西宁市;回来又是总结又是各种琐事,也没顾得上去分享点东西;大周末的就在家分享一下,这二天再次基于ListBox实现的合并单元格的效果:1、ListBox嵌套ListBox的前台布局:<ListBox ItemsSource"{Binding LCPListData}" x:Name"Manufac…

ASP.NET Core中使用EasyCaching作为缓存抽象层

简介做后端开发&#xff0c;缓存应该是天天在用&#xff0c;很多时候我们的做法是写个帮助类&#xff0c;然后用到的时候调用一下。这种只适合简单层次的应用&#xff1b;一旦涉及到接口实现调整之类的&#xff0c;这种强耦合的做法很不合适。有些其他的功能又要去重复造轮子。…

visual studio开启多核编译方法

先按http://blog.csdn.net/acaiwlj/article/details/50240625的方法进行了VS多线程的启动。 原本以为按以下步骤设置就OK了&#xff0c;但是编译中无意间发些了一个warning&#xff1a;“/Gm”与多处理不兼容&#xff1b;忽略 /MP 开关&#xff01;&#xff01;&#xff01;&am…

聊聊storm nimbus的LeaderElector

为什么80%的码农都做不了架构师&#xff1f;>>> 序 本文主要研究一下storm nimbus的LeaderElector Nimbus org/apache/storm/daemon/nimbus/Nimbus.java public static void main(String[] args) throws Exception {Utils.setupDefaultUncaughtExceptionHandler();…