KY79 浮点数加法

描述:
求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式: P1P2…Pi.Q1Q2…Qj 对于整数部分,P1P2…Pi是一个非负整数 对于小数部分,Qj不等于0
输入描述:
对于每组案例,每组测试数据占2行,分别是两个加数。
输出描述:
每组案例是n行,每组测试数据有一行输出是相应的和。 输出保证一定是一个小数部分不为0的浮点数
示例1

输入:
0.111111111111111111111111111111
0.111111111111111111111111111111输出:
0.222222222222222222222222222222

知识点: 字符串
AC代码:

#include <stdio.h>
#include <string.h>#define MAX 100void fenli(char n[], char nint[], char ndec[]) {int i;int j = 0, k = 0;for(i = 0; i < strlen(n); i ++) {if(n[i] == '.') {i ++;break;}nint[j ++] = n[i];}nint[j] = '\0';for( ; i < strlen(n); i ++) {ndec[k ++] = n[i];}ndec[k] = '\0';
}int main() {char a[MAX], b[MAX];char aint[MAX], adec[MAX], bint[MAX], bdec[100];while(scanf("%s%s", a,b) != EOF) {fenli(a, aint, adec);fenli(b, bint, bdec);// 扩充小数int adec_len = strlen(adec), bdec_len = strlen(bdec);int dec_len;if(adec_len > bdec_len) {for(int i = bdec_len; i < adec_len; i ++) {bdec[i] = '0';}dec_len = adec_len;}else if(adec_len < bdec_len){for(int i = adec_len; i < bdec_len; i ++) {adec[i] = '0';}dec_len = bdec_len;}else dec_len = adec_len;// 计算小数int dec_sum[MAX] = {0};int jw = 0;for(int i = dec_len - 1; i >= 0; i --) {dec_sum[i] = (adec[i] - '0' + bdec[i] - '0' + jw) % 10;jw = (adec[i] - '0' + bdec[i] - '0' + jw) / 10;}// 扩充整数int aint_len = strlen(aint), bint_len = strlen(bint);int cha, int_len;if(aint_len > bint_len) {cha = aint_len - bint_len;for(int i = bint_len - 1; i >= 0; i --)bint[i + cha] = bint[i];for(int i = 0; i < cha; i ++)bint[i] = '0';int_len = aint_len;}else if(aint_len < bint_len){cha = bint_len - aint_len;for(int i = aint_len - 1; i >= 0; i --)aint[i + cha] = aint[i];for(int i = 0; i < cha; i ++)aint[i] = '0';int_len = bint_len;}else int_len = aint_len;// 计算整数int int_sum[MAX] = {0};int zsjw = jw;for(int i = int_len - 1; i >= 0; i --) {int_sum[i] = (aint[i] - '0' + bint[i] - '0' + zsjw) % 10;zsjw = (aint[i] - '0' + bint[i] - '0' + zsjw) / 10;}//打印if(zsjw)printf("%d", zsjw);for(int i = 0; i < int_len; i ++)printf("%d", int_sum[i]);printf(".");for(int i = 0; i < dec_len; i ++)printf("%d", dec_sum[i]);}return 0;
}

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

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

相关文章

kafka集群介绍及搭建

介绍 kafka是一个高性能、低延迟、分布式的消息传递系统&#xff0c;特点在于实时处理数据。集群由多个成员节点broker组成&#xff0c;每个节点都可以独立处理消息传递和存储任务。 路由策略 发布消息由key、value组成&#xff0c;真正的消息是value&#xff0c;key是标识路…

navicat连接Oracle时报错解决方案

navicat连接Oracle时报错如下几种 navicat is not able to create oci handles oracle library is not loaded ORA-12514&#xff1a;TNS:listener does not currently know of service requested in connect descriptor 解决方案 1&#xff0c;从Oracle官网下载Oracle cl…

【prometheus-operator】k8s监控集群外redis

1、部署exporter GitHub - oliver006/redis_exporter: Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x redis_exporter-v1.57.0.linux-386.tar.gz # 解压 tar -zxvf redis_exporter-v1.57.0.linux-386.tar.gz # 启动 nohup ./redi…

Java基础 学习笔记九

for循环 for循环语句的语法结构 for(初始化表达式;条件表达式;更新表达式){循环体;}初始化表达式最先被执行&#xff0c;而且只执行一次条件表达式的执行结果必须是一个布尔类型的值更新表达式一般是负责更新某个变量值的&#xff08;只有更新了某个变量值&#xff0c;条件表达…

Visual Studio 2013 - 重置窗口布局

Visual Studio 2013 - 重置窗口布局 1. Microsoft Visual Studio 2013 - 重置窗口布局References 1. Microsoft Visual Studio 2013 - 重置窗口布局 窗口 -> 重置窗口布局 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

API接口采集淘宝商品详情数据获取属性价格详情图等

什么是电商APIAPI全称应用程序编程接口&#xff08;Application Programming Interface&#xff09;&#xff0c;是一组用于访问某个软件或硬件的协议、规则和工具集合。电商API就是各大电商平台提供给开发者访问平台数据的接口。目前&#xff0c;主流电商平台如淘宝、天猫、京…

软件工程导论画图题汇总:期末+复试

文章目录 一、数据模型&#xff1a;实体联系图&#xff08;E-R图&#xff09;二、行为模型&#xff1a;状态转换图三、功能模型&#xff1a;数据流图四、数据字典五、系统流程图六、层次图七、HIPO图八、结构图九、程序流程图十、盒图十一、PAD图十二、判定表、判定树 一、数据…

EF数据持久化(三层架构,客户增删)

效果图 点击新增按钮 点击添加 添加成功展示新增数据 点击删除&#xff0c;出现删除选项&#xff0c;点击确定根据id删除成功 成功删除 实现过程 Model设置具体流程在下面链接中 https://blog.csdn.net/Mr_wangzu/article/details/136805824?spm1001.2014.3001.5501 DAL …

函数栈帧的创建和销毁 - 局部变量|函数传参|函数调用|函数返回|图文详解

目录 1.寄存器EBP和ESP 2.函数栈帧的创建 3.函数的调用 4. 函数栈帧的销毁 函数栈帧&#xff08;function stack frame&#xff09;是在函数调用期间在栈上分配的内存区域&#xff0c;用于存储函数的局部变量、参数、以及用于函数调用和返回的相关信息。每当函数被调用时&a…

ros小问题之差速轮式机器人轮子不显示(rviz gazebo)

在rviz及gazebo练习差速轮式机器人时&#xff0c;很奇怪&#xff0c;只有个机器人的底板及底部的两个万向轮&#xff0c;如下图&#xff0c; 后来查看相关.xacro文件&#xff0c;里面是引用包含了轮子的xacro文件&#xff0c;只需传入不同的参数即可调用生成不同位置的轮子&…

SpringBoot---使用SpringTask定时任务

介绍 在SpringBoot项目中使用SpringTask定时任务 操作流程 第一步 创建定时任务类 首先在项目中创建一个task包&#xff0c;在task包中创建定时任务类 import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.spring…

java基础知识点学习路线整理

1、Java基本语法&#xff1a; 1.变量和## 标题数据类型&#xff08;如int、double、String等&#xff09;。 2.运算符&#xff08;算术、关系、逻辑、位、赋值等&#xff09;。 3.控制流语句&#xff08;if-else、switch、for、while、do-while等&#xff09;数组和集合&#…

C#杨辉三角形

目录 1.杨辉三角形定义 2.用数组实现10层的杨辉三角形 3.使用List泛型链表集合设计10层的杨辉三角形 &#xff08;1&#xff09;代码解释&#xff1a; &#xff08;2&#xff09;算法中求余的作用 4.使用List泛型链表集合设计10层的等腰的杨辉三角形 1.杨辉三角形定义 杨…

1058:求一元二次方程

【题目描述】 利用公式 求一元二次方程axbxc0的根&#xff0c;其中a不等于0。结果要求精确到小数点后5位。 【输入】 输入一行&#xff0c;包含三个浮点数a,b,c&#xff08;它们之间以一个空格分开&#xff09;&#xff0c;分别表示方程axbxc0的系数。 【输出】 输出一行&…

航顺车规级SoC全新亮相,助推汽车智能化发展

受益于汽车电动化、智能化和网联化的推进&#xff0c;汽车车身域和座舱域MCU市场规模持续扩大。据统计&#xff0c;2021年中国车载芯片MCU市场规模达30.01亿美元&#xff0c;同比增长13.59%&#xff0c;预计2025年市场规模将达42.74亿美元。 在技术要求方面&#xff0c;对…

MyBatisPlus 之四:MP 的乐观锁和逻辑删除、分组、排序、链式的实现步骤

乐观锁 乐观锁是相对悲观锁而言的&#xff0c;乐观锁假设数据一般情况不会造成冲突&#xff0c;所以在数据进行提交更新的时候&#xff0c;才会正式对数据的冲突与否进行检测&#xff0c;如果冲突&#xff0c;则返回给用户异常信息&#xff0c;让用户决定如何去做。 乐观锁适用…

[Qt学习笔记]QT下获取Halcon图形窗口鼠标事件并执行相应操作

目录 1、背景2、参考信息3、目标4、步骤4.1 Halcon库的配置4.2 读取图像&#xff0c;并实现图像自适应窗体控件大小4.3 主要的图形绘制和贴图操作见如下代码&#xff0c;其中重点为全局函数的创建来实现选择Select、拖拽Drag和尺寸Resize事件响应。 5、总结 1、背景 在视觉项目…

3.19作业

1、思维导图 2、模拟面试题 1&#xff09;TCP通信中的三次握手和四次挥手 答&#xff1a;三次握手 客户端向服务器发送连接请求 服务器向客户端回复应答并向客户端发送连接请求 客户端回复服务端&#xff0c;并建立联系 四次挥手 进程a向进程b发送断开连接请求…

华纳云:python怎么对数据集进行归一化处理

在 Python 中对数据集进行归一化处理通常使用数学库(如NumPy)或机器学习库(如scikit-learn)提供的函数。归一化处理是将数据按比例缩放到一个特定的范围&#xff0c;通常是[0, 1]或者[-1, 1]之间&#xff0c;以便更好地适应模型训练或优化算法。以下是使用这些库进行数据集归一…

3.20作业

1、思维导图 2、 1> 创建一个工人信息库&#xff0c;包含工号&#xff08;主键&#xff09;、姓名、年龄、薪资。 2> 添加三条工人信息&#xff08;可以完整信息&#xff0c;也可以非完整信息&#xff09; 3> 修改某一个工人的薪资&#xff08;确定的一个&am…