当前位置: 首页 > news >正文

c语言经典例题-选择结构程序设计进阶

  (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

快递费用计算:

题目:

代码思路: 

代码表示: 

计算一元二次方程的根:

题目:

代码思路: 

代码表示: 

产品信息格式化:

题目: 

代码思路: 

代码表示: 


快递费用计算:

题目:

本关任务:编写一个计算机快递费的程序。

上海市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域:

快递费按邮件重量计算,由起重费用、续重费用两部分构成:

(1) 起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重的重量,按公斤(不足1公斤,按1公斤计算)收取续重费; (2) 同城起重资费10元,续重3元/公斤; (3) 寄往1区(江浙两省)的邮件,起重资费10元,续重4元; (4) 寄往其他地区的邮件,起重资费统一为15元。而续重部分,不同区域价格不同:2区的续重5元/公斤,3区的续重6.5元/公斤,4区的续重10元/公斤。

提示

续重部分不足一公斤,按1公斤计算。因此,如包裹重量2.3公斤:1公斤算起重,剩余的1.3公斤算续重,不足1公斤按1公斤计算,1.3公斤折合续重为2公斤。如果重量应大于0、区域编号不能超出0-4的范围。

样例输入: 4,4.5

样例输出: Price: 55.00

程序运行结果示例1:

输入:4,4.5 输出:Price: 55.00

程序运行结果示例2:

输入:5,3.2 输出: Error in Area Price: 0.00

代码思路: 

这题我在第一次运行的时候出现了一条错误提示:invalid operands to binary %,意思是采用浮点模数时,二进制 % 的操作数无效。那么我们该怎么解决“续重部分不足一公斤,按1公斤计算”这个问题呢?那就要用到ceil函数了,它的头文件是<math.h>,作用是返回大于或者等于指定表达式的最小整数。有了它,就可以用“(b-1)*续重价”解决续重问题,对于整题,我的思路就是一个区一个区分开计算,虽然较为繁琐,但理解起来较为简单

代码表示: 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main(void)
{/*********Begin*********/int a;float b;scanf("%d,%f", &a, &b);if (a >= 0 && a <= 4){if (a == 0){if (b >= 0 && b <= 1){printf("Price: 10.00\n");}else if (b > 1){b = ceil(b);float c = (b - 1) * 3.0;printf("Price: %.2f\n", c + 10);}}else if (a == 1){if (b >= 0 && b <= 1){printf("Price: 10.00\n");}else if (b > 1){b = ceil(b);float d = (b - 1) * 4.0;printf("Price: %.2f\n", d + 10);}}else if (a == 2){if (b >= 0 && b <= 1){printf("Price: 15.00\n");}else if (b > 1){b = ceil(b);float d = (b - 1) * 5.0;printf("Price: %.2f\n", d + 15);}}else if (a == 3){if (b >= 0 && b <= 1){printf("Price: 15.00\n");}else if (b > 1){b = ceil(b);float d = (b - 1) * 6.5;printf("Price: %.2f\n", d + 15);}}else if (a == 4){if (b >= 0 && b <= 1){printf("Price: 15.00\n");}else if (b > 1){b = ceil(b);float d = (b - 1) * 10.0;printf("Price: %.2f\n", d + 15);}}}else{printf("Error in Area\n");printf("Price: 0.00\n");}/*********End**********/return 0;
}

计算一元二次方程的根:

题目:

本关任务:根据下面给出的求根公式,计算并输出一元二次方程ax2+bx+c=0的两个实根,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示 "error!"。

输入:1,2,1 输出: Please enter the coefficients a,b,c: x1=-1.0000, x2=-1.0000

输入:2,1,6 输出: Please enter the coefficients a,b,c: error!

代码思路: 

我认为这题的难点有两个,第一个就是是否了解sqrt开平方函数以及其需要的头文件<math.h>,第二个就是求根公式在使用的时候是否注意加括号,乘法符号是否会被省略这类细节问题。只要能解决这两个问题,这题也就能迎刃而解了

代码表示: 

#include<stdio.h>
#include<math.h>
int main(void)
{/*********Begin*********/float a, b, c, x1, x2;scanf("%f,%f,%f", &a, &b, &c);x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);printf("Please enter the coefficients a,b,c:\n");if ((b * b - 4 * a * c) >= 0){printf("x1=%.4f, x2=%.4f\n", x1, x2);}else{printf("error!\n");}/*********End**********/return 0;
}

产品信息格式化:

题目: 

本关任务:编写一个程序, 对用户录入的产品信息进行格式化。 

样例输入:  385

       12.5

       12/03/2015

样例输出:  Enter item number: Enter unit price:

       Enter purchase date (mm/dd/yy):

       Item Unit Purchase

       385 $ 12.50 12032015

代码思路: 

这题只需要根据题目提示,将所需内容输入输出即可

代码表示: 

#include<stdio.h>
int main(void)
{/*********Begin*********/int a, b, c, d;float i;scanf("%d", &a);scanf("%f", &i);scanf("%d/%d/%d", &b, &c, &d);printf("Enter item number:\n");printf("Enter unit price:\n");printf("Enter purchase date (mm/dd/yy):\n");printf("Item Unit Purchase\n");printf("%-9d$ %-9.2f%02d%02d%02d\n", a, i, b, c, d);/*********End**********/return 0;
}

相关文章:

c语言经典例题-选择结构程序设计进阶

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 快递费用计算&#xff1a; 题目&#xff1a; 代码思路&#xff1a; 代码表示&#xff1a; 计算一元二…...

NOI 2023春季测试 游记

怎么说&#xff0c;没遇到大波折即幸运。 Day 0 睡到下午三点&#xff0c;然后列了一堆复习计划&#xff0c;大概是左偏树等一些早就忘没的科技。 但是沉迷打块&#xff0c;最后基本什么计划也没完成。 白天睡多了&#xff0c;晚上睡不着&#xff0c;大概半梦半醒过了一整夜…...

【VC 7/8】vCenter Server 基于文件的备份和还原Ⅱ——使用 FTP 协议备份 VC(VAMI 英文)

目录2. 备份 vCenter Server2.1 使用 FTP 协议备份 VC&#xff08;1&#xff09;登录 vCenter Server 管理界面&#xff08;2&#xff09;进入Backup页面&#xff08;3&#xff09;配置 Backup Schedule&#xff08;4&#xff09;开始备份&#xff08;5&#xff09;备份成功&am…...

Python基础—文件操作(二)

Python基础—文件操作(二) CSV格式文件 逗号分隔值&#xff0c;以纯文本形式存储表格数据 由任意数目的记录组成&#xff0c;记录间以换行符分隔 每条记录由字段组成&#xff0c;字段间用逗号或制表符分隔 每条记录都有同样的字段序列 如有列名&#xff0c;位于文件第一行 每条…...

学校的班级个数【并查集基础应用,Java实现】

题目描述 现有一个学校&#xff0c;学校中有若干个班级&#xff0c;每个班级中有若干个学生&#xff0c;每个学生只会存在于一个班级中。如果学生A和学生B处于一个班级&#xff0c;学生B和学生C处于一个班级&#xff0c;那么我们称学生A和学生C也处于一个班级。 现已知学校中共…...

WSL2使用Nvidia-Docker实现CUDA版本自由切换

众所周知&#xff0c;深度学习的环境往往非常麻烦&#xff0c;经常不同的项目所依赖的 torch、tensorflow 包对 CUDA 的版本也有不同的要求&#xff0c;Linux 下进行 CUDA 的管理比较麻烦&#xff0c;是一个比较头疼的问题。 随着 WSL2 对物理机显卡的支持&#xff0c;Nvidia-…...

pygame9 扫雷游戏2

一、响应鼠标左键事件 pygame.MOUSEBUTTONDOWN 表示鼠标事件发生&#xff0c; pygame.mouse.get_pressed()[0] 确认是鼠标左键被按下 pygame.mouse.get_pos() 获取到鼠标按下时的坐标值。 因此&#xff0c;我们可以在事件逻辑中例用此三个函数判断鼠标事件及对应的坐标&#x…...

逻辑电路代数运算(上)

逻辑代数L是一个封闭的代数系统&#xff0c;由一个逻辑变量集K&#xff0c;常量0和1&#xff0c;以及与或非三种基本运算构成。 参与逻辑运算的变量叫逻辑变量&#xff0c;用字母A&#xff0c;B……表示。每个变量的取值非0 即1。 0、1不表示数的大小&#xff0c;而是代表两种不…...

Rabbit快速入门

入门案例 需求&#xff1a;使用简单模式完成消息传递 步骤&#xff1a; 创建工程&#xff08;生成者、消费者&#xff09; 分别添加依赖 编写生产者发送消息 编写消费者接收消息 3.1.2. 添加依赖 往heima-rabbitmq的pom.xml文件中添加如下依赖&#xff1a; <dependenc…...

【react+ts- forwardRef】

reactts- forwardRef1. 学习资料2. 普通input透传2.1 TS版本2.2 JS版本3. TS-Antd-Form组价透传引用传递&#xff08;Ref forwading&#xff09;是一种通过组件向子组件自动传递 引用ref 的技术。对于应用者的大多数组件来说没什么作用。但是对于有些重复使用的组件&#xff0c…...

计算机网络-- 网络层(day06)

文章目录网络层思维导图IPv4地址的应用规划定长的子网掩码变长的子网掩码VLSMIP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报静态路由选择动态路由选择路由选择协议概述常见的路由选择协议路由器的基本结构路由信息协议RIP的基本工作原理开放最短路径优先OSPF的基…...

docker 镜像

一、介绍 镜像:是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码,运行时需要的库,环境变量和配置文件等)这个打包好的运行环境就是image镜像文件。 只有通过这个镜…...

JUC并发编程与源码分析笔记11-Java对象内存布局和对象头

先从阿里及其它大厂面试题说起 你觉得目前面试&#xff0c;你还有那些方面理解的比较好&#xff0c;我没问到的&#xff0c;我说了juc和jvm以及同步锁机制那先说juc吧&#xff0c;说下aqs的大致流程cas自旋锁&#xff0c;是获取不到锁就一直自旋吗?cas和synchronized区别在哪…...

JavaSE之集合篇

文章目录前言一、集合概述集合继承结构图二、Collection接口中常用方法2.1Collection中存放什么元素&#xff1f;2.2常用方法2.3迭代器三、List接口中常用的方法四、ArrayList初始化容量及扩容五、Vector六、Map接口常用方法七、Properties前言 由于在刷题过程中&#xff0c;经…...

LeetCode分类刷题-----贪心算法

贪心算法贪心455.分发饼干376.摆动序列53.最大子序和122.买卖股票的最佳时机||55.跳跃游戏45.跳跃游戏||1005.K次取反后最大化的数组和134.加油站135.分发糖果860.柠檬水找零406.根据身高重建队列452.用最少数量的箭引爆气球![在这里插入图片描述](https://img-blog.csdnimg.cn…...

SiteWhere开源物联网平台支持意大利都灵智能计量

这篇简短的文章描述了一个基于 SiteWhere 开源物联网平台的智慧城市用例。 SiteWhere总部位于佐治亚州亚特兰大&#xff0c;是一个开源物联网应用程序支持平台 (AEP)&#xff0c;提供两种解决方案。首先&#xff0c;SiteWhere 的社区版 (CE) 是在 CPAL 许可下提供的。对于此解…...

【unity】rts engine 6 放置并建造建筑;

一 放置并建造建筑 GameManager -> Essential -> BuildingExtension 查看 building placement building position y offset Y轴偏移&#xff0c;建筑离地距离&#xff0c;可0.1 terrain max distance 放置建筑与允许地形的最大距离&#xff0c;可1 placable terrain …...

华为OD机试题 - 任务调度(JavaScript)| 含思路

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解: 任务调度题目输入输出描述示例一输入输出Code解题思路华为OD其…...

《Spring源码深度分析》第4章 自定义标签的解析

目录标题前言一、自定义标签使用二、自定义标签解析1、代码入口2、parseCustomElement【BeanDefinitionParserDelegate】2.1 resolve【DefaultNamespaceHandlerResolver】3、parse【NamespaceHandlerSupport】4、parse【AbstractBeanDefinitionParser】4.1 parseInternal【Abst…...

MATLAB绘制椭圆形相关系矩阵图

数据/代码准备 数据及代码下载&#xff1a; 下载专区-《MATLAB统计分析与应用&#xff1a;40个案例分析》程序与数据 绘图函数&#xff1a; matrixplot(data, PARAM1,val1, PARAM2,val2, ...) 案例 数据如下&#xff1a; MATLAB代码如下&#xff1a; clc close all clear …...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...