大数相加 a+b
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>
#define N 1010 char s1[N], s2[N];
int a[N], b[N], c[N]; int main()
{
int T, len1, len2, i, k, cnt=1;
scanf("%d", &T);
getchar(); while(T--)
{
scanf("%s %s", s1, s2);
getchar(); len1=strlen(s1);
len2=strlen(s2);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
k=0;
for(i=len1-1; i>=0; i--)
a[k++]=s1[i]-'0';
k=0;
for(i=len2-1; i>=0; i--)
b[k++]=s2[i]-'0';
for(i=0; i<len1 && i<len2; i++)
{
if(a[i]+b[i]+c[i]>9)
{
c[i]=(a[i]+b[i]+c[i])%10;
c[i+1]=1;
}
else
{
c[i]=a[i]+b[i]+c[i];
}
}
while(i<len1)
{
if(c[i]+a[i]>9)
{
c[i]=(c[i]+a[i])%10;
c[i+1]=1;
}
else
{
c[i]=c[i]+a[i];
}
i++;
}
while(i<len2)
{
if(c[i]+b[i]>9)
{
c[i]=(c[i]+b[i])%10;
c[i+1]=1;
}
else
{
c[i]=c[i]+b[i];
}
i++;
} i=N-1;
while(!c[i]) i--; if(cnt>1)
printf("\n"); printf("Case %d:\n", cnt++);
printf("%s + %s = ", s1, s2); for(; i>=0; i--)
printf("%d", c[i]);
printf("\n");
}
return 0;
}
大数相加 a+b的更多相关文章
- hdu acm-1047 Integer Inquiry(大数相加)
Integer Inquiry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- 用字符串模拟两个大数相加——java实现
问题: 大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求.可以使用字符串来表示大数,模拟大数相加的过程. 思路: 1.反转两个字符串,便于从低位到高位相加和最高位 ...
- 随机数组&大数相加
随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中 一, 设计思路: 先生成随机数数组,再将数组保存在一个字符串中,然后将数组各数字加和, ...
- java-两个大数相加
题目要求:用字符串模拟两个大数相加. 一.使用BigInteger类.BigDecimal类 public static void main(String[] args) { String a=&qu ...
- POJ 1503 Integer Inquiry(大数相加,java)
题目 我要开始练习一些java的简单编程了^v^ import java.io.*; import java.util.*; import java.math.*; public class Main ...
- 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过
杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...
- Linux C/C++ 编程练手 --- 大数相加和大数相乘
最近写了一个大数相乘和相加的程序,结果看起来是对的.不过期间的效率可能不是最好的,有些地方也是临时为了解决问题而直接写出来的. 可以大概说一下相乘和相加的解决思路(当然,大数操作基本就是两个字符串的操 ...
- hdu1002大数相加
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- 基于visual Studio2013解决C语言竞赛题之1077大数相加
题目 解决代码及点评 /************************************************************************/ /* ...
- 大数相加(类似杭电acm1002)
/*输入两个非常大的整数(完全超出了int.long的表示范围),这个整数的长度可能超过100位,计算并输出这两个数相加的结果.*/ //自己用题目所给的案例测试,输出是正确的,也能输出正确的结果,不 ...
随机推荐
- [CF1854D] Michael and Hotel
题目描述 Michael and Brian are stuck in a hotel with $ n $ rooms, numbered from $ 1 $ to $ n $ , and nee ...
- 【UniApp】-uni-app-项目计算功能(苹果计算器)
前言 本文主要介绍苹果计算器项目中计算功能的实现 在前面的文章中已经实现了输入,动态计算字体大小,以及计算器的布局 本文主要介绍计算功能的实现 正文 实现/清空/改变正负/除以100 inputTex ...
- ElasticSearch之cat repositories API
命令样例如下: curl -X GET "https://localhost:9200/_cat/repositories?v=true&pretty" --cacert ...
- Python用辗转相除法计算两数的最大公约数和最小公倍数
计算最大公约数运用辗转相除法就行了 计算最小公倍数需要运用公式:最小公倍数=数字1*数字2/最大公约数 有关辗转相除法的知识请查看:辗转相除法 以下为代码: #计算最大公约数 def gys (x,y ...
- centos7 安装 mysqlclient 报错
报错如下: 解决方法: 先安装依赖: yum install mysql-devel 再安装: pip3 install mysqlclient
- 关于向上转型以及向下转型、instanceof的一些应用。
一.前言 在Java编程中,我们常常遇到各种类型转换的情况,尤其是在处理继承关系的类时.本文将深入探讨Java中的向上转型(upcasting).向下转型(downcasting)以及instance ...
- 兼容并蓄广纳百川,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang复合容器类型的声明和使用EP04
书接上回,容器数据类型是指一种数据结构.或者抽象数据类型,其实例为其他类的对象. 或者说得更具体一点,它是以一种遵循特定访问规则的方法来存储对象. 容器的大小取决于其包含的基础数据对象(或数据元素)的 ...
- 【API进阶之路】太秃然了,老板要我一周内检测并导入一万个小时的视频
摘要:假期结束后回来上班,走进电梯都有一种特别的感觉,电梯那个植发广告里的大哥看我的眼神好像和之前不太一样- 上回说到,老板奖励7天带薪假,我就回家玩耍了几天,顺便还帮兄弟发不脱当了一回"A ...
- 开发老人笔记:Git 常用命令清单
摘要:git是目前世界上最先进的分布式版本控制系统. 多人协作 master:此分支用来发布稳定的代码,合并一般是由管理员合并 dev:此分支用于团队开发,团队成员向此分支提交代码 bug:此分支用于 ...
- 4问教你搞定java中的ThreadLocal
摘要:ThreadLocal是除了加锁同步方式之外的一种保证规避多线程访问出现线程不安全的方法. 本文分享自华为云社区<4问搞定java中的ThreadLocal>,作者:breakDra ...