7.A+B(Ⅱ)

(程序设计方法与实践)肥宅快乐串 肥宅快乐串 Description 龙龙在研究字符串和字符串处理。龙龙发现有一些字符串让他第一眼看到就会发自内心的感到快乐,他把这些字符串称为“肥宅快乐串"。龙龙进一步研究发现,一个字符串是"肥宅快乐串",当且仅当这个字符串存在至少一个子串是"fattyhappy"。字符串的子串是指这个字符串中截下来的连续的一段。比如"fffffattyhappyyyyy"就有一个"fattyhappy"子串,而"faaaaattyhappy"就没有一个"fattyhappy"子串。现在龙龙看到了好多个字符串,他想对每一个 阅读详情

Description

龙龙觉得之前的二进制加法可能对你来说太简单了,正好你也学完了“字符串处理”专题,那么就来考验一下你对大数加法的熟练程度吧?下面举一个实数加法运算的实例:

   2.01
+  1.0 
-------
   3.01

请你模拟这个过程。

Input

第一行输入一个实数a,表示加数,第二行输入一个实数b表示被加数,两者非负,可能会有前导零和后导零出现。

Output

请模拟实数加法,按题目描述的格式输出。注意换行,程序输出中没有多余的空格和换行。

Hint

思路

思路:倒叙存储,对齐小数点位,相加,判断输出位数,倒序输出

注意:1、考虑小数+小数、小数+整数、整数+整数情况

           2、考虑逢十进一,但是下一位是小数点的情况

           3、注意分辨int与char的区别,如\000,0等

小结:一定要有耐心,写一部分测一部分,多用调试。

代码

#include <stdio.h>
#include  <math.h>
#include <string.h>
char arr1[2009]={0}; char arr2[2009]={0};  char arr3[2009]={0};

int main()
{
	char ch;int quan1,dian1,quan2,dian2,quan3,dian3; 
    int i=0; int bian=0;int flag=0;
	arr1[0]=getchar();	
	for(i=1;arr1[i-1]!='\n';i++)//存1 
	{
		arr1[i]=getchar();
		if(arr1[i]=='.') 
		{
			dian1=i+1;	flag=1;
		}
	}
	quan1=i-1;  
	if(flag==1) dian1=quan1-dian1+1;
	else dian1=0;
	arr1[quan1]='\000';	
	arr2[0]=getchar();flag=0;	
	for(i=1;arr2[i-1]!='\n';i++)//存2 
	{
		arr2[i]=getchar();
		if(arr2[i]=='.') 
		{
			dian2=i+1;	flag=1;
		}
	}
	quan2=i-1; 
	if(flag==1) dian2=quan2-dian2+1;
	else dian2=0;
	arr2[i-1]='\000';
	
	for( i=0;i<quan1/2;i++)//倒叙 
	{
		ch=arr1[i];
		arr1[i]=arr1[quan1-i-1];arr1[quan1-i-1]=ch;
	 } 
	 for( i=0;i<quan2/2;i++)//倒叙 
	{
		ch=arr2[i];
		arr2[i]=arr2[quan2-i-1];arr2[quan2-i-1]=ch;
	 } 
	
	if(dian1>dian2)//对齐小数点 
	{
		for(i=0;i<quan2;i++)
		{
			arr2[quan2-i+dian1-dian2-1] = arr2[quan2-1-i];
		}
		for(int j=0;j<dian1-dian2;j++)
		arr2[j]='0';
		quan2+=dian1-dian2;
		bian=2;
	}
	else if(dian2>dian1)
	{
		for(i=0;i<quan1;i++)
		{
			arr1[quan1-i+dian2-dian1-1] = arr1[quan1-1-i];
		}
		for(int j=0;j<dian2-dian1;j++)
		arr1[j]='0';
		quan1+=dian2-dian1;
		bian=1;
	}
	
	int j=(quan1>quan2?quan1:quan2);int m=0;//计算  
	for(i=0;i<j;i++)
	{
		int count=arr1[i]+arr2[i]-48+m;
		if(arr1[i]=='.'||count==46) 
		{
			arr3[i]='.'; continue;
		}
		if(count<=57) 
		{
			arr3[i]=(count>=48?count:count+48); m=0;
		}
		else if(count>57)
		{
			arr3[i]=count-10;
			if(i==j-1)
			arr3[i+1]='1';
			else m=1;
		}
	}
	
	for(i=j;i>0;i--)//结果有多少位呢 
	{
	  if(arr3[i]=='.')
	    {
			quan3=i+2; break;	
		}
	  if(arr3[i]!='0'&&arr3[i]!=0)
		{
			quan3=i+1; break;
		}
	 
	}
	
	int wei=(quan1>quan2?quan1:quan2);//输出多少位 
	(quan3>wei)?(wei=quan3):(wei=wei);
	wei+=3;
	j=0;
	
	for (i=0;i<wei;i++)//第一行 
	{
		if(bian!=1)
		{
			if(i<wei-quan1) printf(" ");
			else 
			{
				printf("%c",arr1[quan1-1-j]);j++;
			}
		}	
		else if(bian==1)
		{
			if(i<wei-quan1) printf(" ");
			else if(i>=wei-quan1&&j<quan1-dian2+dian1)
			{
				printf("%c",arr1[quan1-1-j]);j++;
			}
			else if(i>=wei-quan1-1&&j>=quan1-dian2+dian1)
			printf(" ");
		}	
	}printf("\n");

	j=0;
	for(i=0;i<wei;i++)//第二行 
	{
		if(i==0) 	
		{
			printf("+");continue;
		}
		if(bian!=2)
		{
			if(i<wei-quan2) printf(" ");
			else 
			{
				printf("%c",arr2[quan2-1-j]);j++;
			}
		} 
		else if(bian==2)
		{
			if(i<wei-quan2) printf(" ");
			else if(i>=wei-quan2&&j<quan2-dian1+dian2)
			{
				printf("%c",arr2[quan2-1-j]);j++;
			}
			else if(i>=wei-quan2-1&&j>=quan2-dian1+dian2)
			printf(" ");	
		}
	}printf("\n");
	
	for(i=0;i<wei;i++)//第三行 
	{
		printf("-");
	}printf("\n");
	
	j=0;
	for(i=0;i<wei;i++)//第四行 
	{	
		if(i<wei-quan3) printf(" ");
		else  
		{
			printf("%c",arr3[quan3-1-j]); j++;
		}
	}printf("\n");
	return 0;
 } 

FPGA入门:QuartusⅡ实现半加器,全加器,四位全加器 FPGA入门,半加器,全加器,四位全加器 阅读详情

相关推荐

「软件项目管理」成本估算模型——Walston-Felix模型和COCOMO Ⅱ模型

Walston-Felix模型和COCOMO Ⅱ模型序言一、Walston-Felix模型1. 公式2. 举例二、COCOMO模型(Constructive Cost Model)1. 模型定义2. COCOMO模型的发展3. COCOMO基本原理三、COCOMO 811. 模型级别2. 项目类型3. 基本COCOMO-81(1)公式(2)系数表(3)举例4. 中等COCOMO-81(1)公式(2)系数表(3)乘法因子的成本驱动属性(4)乘法因子的值(5)举例5、高级(详细)COCOMO(1)定义(2)工作

moandaylab 1万+

9. 肥宅快乐串

北京理工大学计算机学院程设小学期题目思路与代码,希望有所帮助qwq

m0_62677143的博客 842

西门子PLC与DGUS Ⅱ屏软硬件连接指南

                                  DGUS应用锦集(七)西门子PLC软硬件连接指南 本文介绍迪文DGUS Ⅱ触摸屏与西门子PLC通过Modbus RTU协议实现通讯的软、硬件连接说明。 1 效果展示 迪文产品型号:DMT10600T070_A5WTC 西门子PLC:S7-200 SMART 分辨率:1024*600 效果展示1:VB保持区验证演示视频 ...

zhangliangdwin的博客 4873

10. 肥宅快乐串

BIT程序设计方法与实践

记录计算机学习路程 851

基于ESP32-S3与PCM5102的HiFi网络收音机复刻指南:从硬件设计到软件配置

本文提供了一份详细的基于ESP32-S3与PCM5102的HiFi网络收音机复刻指南。内容涵盖从核心硬件选型(如ESP32-S3主控与PCM5102 DAC芯片)、四路独立LDO供电设计,到软件环境配置、固件烧录及常见问题调试的全过程,旨在帮助创客打造一台支持网络电台、本地播放与蓝牙连接的高保真音频播放器。

weixin_30632267的博客 186

深入解析五大ADC芯片架构及其应用场景

本文深入解析了五大ADC芯片架构及其应用场景,包括逐次逼近型ADC、Σ-Δ型ADC、流水线型ADC、闪存型ADC和积分型ADC。通过详细的架构分析和实际应用案例,帮助工程师理解不同ADC芯片的特点和适用场景,提升电路设计效率。

weixin_28702105的博客 355

10.肥宅快乐串

龙龙进一步研究发现,一个字符串是"肥宅快乐串",当且仅当这个字符串存在至少一个子串是"fattyhappy"。比如"fffffattyhappyyyyy"就有一个"fattyhappy"子串,而"faaaaattyhappy"就没有一个"fattyhappy"子串。现在龙龙看到了好多个字符串,他想对每一个字符串交换恰好一对字符的位置,使得这个字符串变成"肥宅快乐串"。接下来第 2 到第 T 加 1 行,每行输入一个字符串,表示需要你帮忙变成"肥宅快乐串"的原来的字符串,一共有 T 行。第一行一个正整数T;

北辰的博客 218

本地部署大模型框架 LMStudio和Ollama+WebUI对比

之前我们的辣妈系列文章介绍了很多如何使用Ollama框架+OpenWebUI做很多大模型框架下相关的事情。之后我们也尝试了LMStudio这样一体化的工具。本文介绍下LMStudio 和 Ollama+Web UI 各有优劣,具体选择取决于你的需求。

ms44的专栏 4028

备战蓝桥杯--贪心算法刷题整理2

完美的代价(贪心算法) 题目描述: 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是:交换两个相邻的字符   例如mamad   第一次交换 ad : mamda   第二次交换 md : madma   第三次交换 ma : madam (回文!完美!) 输入格式   第一行是一个整数N,表示接下来的字符串的长度(N <= 8000)   第二行是一个字符

我叫鱿鱼须的博客 481

随机化策略——随机变量rand、约束constraint、权重dist、随机数产生示例

文章目录一、随机变量类型1.1.rand随机变量1.2.randc随机变量二、随机化约束2.1.constraint指定约束范围2.1.1.关系操作符约束(>、<、=、>=、<=)2.1.2.范围操作符约束(inside)2.1.3.权重分布约束(dist)2.1.4.条件约束(if-else; ->)三、启动随机化——randomize( )函数四、关闭或打开随机变...

Mr.翟的博客 2万+

从零到一:基于JasperGold的FPV实战入门与避坑指南

本文详细介绍了基于JasperGold的形式化验证(FPV)实战入门指南,涵盖环境搭建、SVA断言编写、TCL脚本调试等关键步骤。通过实际案例解析,帮助IC设计工程师掌握FPV技术,有效验证RTL设计中的复杂逻辑和corner case,提升验证效率与质量。

weixin_30899023的博客 363

7.A+B(Ⅱ)

BIT程序设计方法与实践

记录计算机学习路程 283

YOLOv12涨点改进 | 全网首发,Conv改进篇 | CVPR 2025 | YOLOv12引入FDConv频率动态卷积,含A2C2f_FDConv二次创新模块,能够捕捉更加丰富和复杂的特征信息

本文提出了一种改进YOLOv12目标检测模型的方法——频率动态卷积(FDConv)。FDConv通过增强卷积核的频率响应多样性,使模型能够更好地处理不同频率信息,从而提高检测精度。该方法包含三个关键组件:傅里叶离散权重(FDW)实现频率分组,核空间调制(KSM)动态调整频率响应,以及频率带调制(FBM)进行频域调节。实验结果表明,FDConv能以较少的参数增长(仅增加3.6M)显著提升模型性能,在目标检测、实例分割等任务中优于传统动态卷积方法。该方法可灵活集成到ResNet、ConvNeXt等多种架构中。

Ai缝合怪、助力小伙伴高效发论文 421

ⅠB2期和ⅡA2期子宫颈腺癌及腺鳞癌新辅助化疗后手术治疗疗效观察

摘要:目的 探讨ⅠB2期和ⅡA2期子宫颈腺癌及腺鳞癌患者新辅助化疗后手术治疗的近期疗效、生存状况并分析其预后影响因素。方法 回顾性分析2010年1月至2017年12月,在首都医科大学附属北京妇产医院和北京市通州区妇幼保健院接受新辅助化疗后行根治性子宫切除术治疗的ⅠB2和ⅡA2期子宫颈腺癌和腺鳞癌患者的临床资料,共48例。评价新辅助化疗的近期疗效,分析5年无进展生存期(PFS)及总生存率(OS),并分析影响患者预后的相关因素。结果 (1)新辅助化疗的有效率(完全缓解+部分缓解)(CR+PR)为66.7%(32

xueshulunwenwang的博客 2635

YOLO26改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是。YOLO26主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 1091

PyCharm 接入 OpenAI Codex CLI 的 4 步配置与调试实录

揭示 Codex CLI 在 PyCharm 中上下文失稳的四大根源:CLI 启动模式与 IDE 进程模型冲突、stdin/stdout 流式处理不兼容、环境变量污染、AST 注释缺失,并给出基于 Shell 脚本桥接与结构化上下文注入的稳定接入方案。

weixin_42627902的博客 372

ASTM D4169-23e1 DC8 完整技术解析|纯铁路托盘单元货物专用配送周期

DC7:纯铁路、无托盘散装纸箱,到站无长期仓储;DC8:纯铁路、整托盘单元化货物,到站存在多层仓库堆存;DC9:铁路 + 公路多式联运,散装无托盘;DC11:铁路平板拖车 / 集装箱联运。DC8 是中欧班列整托设备、铁路整车单元化工业品、铁路专线托盘货物的专用验证方案,也是铁路仓储一体化物流的唯一标准周期,核心差异化特征是同时包含全套叉车机械搬运、铁路纵向冲击、仓库静态堆压三大模块。

fgjcbai的博客 161

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

某厂生产三种产品Ⅰ,Ⅱ,Ⅲ。每种产品要经过A,B两道工序加工。设该厂有两种规格的设备能完成A工序,以A1,A2 表示;有三种规格的设备能完成B工序,以B1,B2,B3,表示。产品Ⅰ可在A,B任何一种规

数学建模算法与应用习题 某厂生产三种产品Ⅰ,Ⅱ,Ⅲ。每种产品要经过A,B两道工序加工。设该厂有两种规格的设备能完成A工序,以A1,A2 表示;有三种规格的设备能完成B工序,以B1,B2,B3,表示。产品Ⅰ可在A,B任何一种规格设备上加工。产品Ⅱ可在任何规格的A设备上加工,但完成B工序时,只能在B1设备上加工;产品Ⅲ只能在A2与B2设备上加工。已知在各种机床设备的单件工时、原材料费、产品销售价格、各种设备有效台时以及满负荷操作时机床设备的费用如表1.2所列,试安排最优的生产计划,使该厂利润最大。 设备

西木康的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

1 DT Ⅱ(A)带式输送机产品系列

DT Ⅱ(A) 带式输送机规格型号;产品规格;带宽系列;产品代号;整机结构;部件名称 & 代码;

monian187的博客 1490

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU Problem1002 A+BⅡ的C解决方法

HDU Problem1002 A+BⅡ的C解决方法 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目: 乍看之下,以为这是一个输出格式稍微有些复杂的A+B problem;但题目细心的指出A和B可能长度不超过1000;所以这题用long long int(263-1)也是远远不够的,最好的方法就是用字符串来代替数字进行运算。 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间; 增加了

SecanT_X的博客 333

FcγRⅡb(CD32b):免疫调节与自身免疫病中的关键抑制性受体

免疫系统通过精细的调节机制维持机体的免疫耐受,防止自身免疫反应的发生。FcγRⅡb(CD32b)作为一种低亲和力的IgG Fc段抑制性受体,在免疫调节中发挥着重要作用。其胞内段含有免疫受体酪氨酸抑制基序(ITIM),能够介导免疫抑制作用.

2501_91949183的博客 1067

NSGAⅡ详解(实例MATLAB程序说明)

根据一个简单的例子介绍NSGAⅡ,代码上都有注释,可以帮助读者快速理解

wanganqiqi的博客 5990

卡码二至六题:A+B问题Ⅱ-Ⅷ

今天把A+B剩下的五道题做完了,在知道这样的写法后,剩下的5道题很快就做完了。但是自己的代码风格仍要朝着简洁化的方向努力,解题思维仍要朝着高效清晰化的方向努力。

weixin_49426115的博客 182

QuartusⅡ 13.1 安装

QuartusⅡ 13.1 安装一、下载二、安装三、注册 一、下载 正点原子百度云:https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码: ifte 二、安装 解压后,双击安装: Next: accept,Next: 选择安装位置,Next: Next: Next: Finish: OK: 三、注册 注册文件: https://pan.baidu.com/s/16GnGbr4v-EFKF0VZYUArsg 提取码:

Baker的博客 3607

7-37 CPA招新Ⅱ

7-37 CPA招新Ⅱ 文章目录7-37 CPA招新Ⅱ题目描述:输入格式:输出格式:输入与输出样例:思路分析:代码:样例测试: 题目描述: 新学期开始啦,我们CPA是2019年6月成立的,创建时有20位元老。现在需要招新啦,每年新学期社团服务中心会组织百团大战。我们CPA迎来第一次招新,我们很期待迎来新成员。 每天都有元老去招新,每招到一个萌新,招新人会在纸上写一个大写字母。CPA共有竞赛部、宣传...

xiaosuC的博客 850

零基础C语言入门007——ascⅡ字符表、字符常量

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准 ISO/IEC 646。 标准 ASCII 字符表使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9,标点符号,以及在美式英语中使...

alex5153的博客 3283
上一篇: 6.A+B(Ⅰ)
下一篇: 8.发言统计
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值