ACM1002:A + B Problem II
--------------------------------------------------------------------------------------------------------------------------
//高精度加法,注意格式
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<memory.h>
#define SIZE 1005 int main()
{
int i, n;
int j, k, m;
int index;
int lengthA, lengthB;
char a[SIZE];
char b[SIZE]; int ans[SIZE];
int carryBit; //进位
//freopen("F:\\input.txt","r",stdin);
scanf("%d", &n);
for(i = 0; i < n; i++)
{
scanf("%s%s", a, b); memset(ans, 0, sizeof(ans));
index = 0;
carryBit = 0;
lengthA = strlen(a);
lengthB = strlen(b); lengthA--;
lengthB--;
while ((lengthA >= 0) && (lengthB >= 0))
{
//将char转换为int,并计算和,如果ans大于10,则carryBit为1,否则为0
ans[index] = (a[lengthA] - '0') + (b[lengthB] - '0') + carryBit;
if (ans[index] >= 10)
{
carryBit = ans[index] / 10;
ans[index] %= 10;
}
else
carryBit = 0;
index++;
lengthA--;
lengthB--;
}
//如果A的长度大于B,则将A与carryBit相加
while (lengthA >= 0)
{
ans[index] = (a[lengthA] - '0') + carryBit;
if (ans[index] >= 10)
{
carryBit = ans[index] / 10;
ans[index] %= 10;
}
else
carryBit = 0;
index++;
lengthA--;
}
//如果B的长度大于A,则将B与carryBit相加
while (lengthB >= 0)
{
ans[index] = (b[lengthB] - '0') + carryBit;
if (ans[index] >= 10)
{
carryBit = ans[index] / 10;
ans[index] %= 10;
}
else
carryBit = 0;
index++;
lengthB--;
} if (carryBit != 0)
{
ans[index]++;
index++;
} //去掉多余的零
while (ans[index] == 0)
index--;
printf("Case %d:\n", i + 1);
printf("%s + %s = ", a, b);
//两个零字符串相加输出为0
if (index == -1)
printf("0");
else
{
for (m = index; m >= 0; m--)
printf("%d", ans[m]);
}
printf("\n");
if (i != n - 1)
printf("\n");
}
//freopen("con", "r", stdin);
//system("pause");
return 0;
}
ACM1002:A + B Problem II的更多相关文章
- HDU 1002:A + B Problem II(大数相加)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- A + B Problem II
之前总是在查阅别人的文档,看着其他人的博客,自己心里总有一份冲动,想记录一下自己学习的经历.学习算法有一段时间了,于是想从算法开始自己的博客生涯O(∩_∩)O~~ 今天在网上看了一道大数相加(高精度) ...
- hduoj 1002 A + B Problem II
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目描述如下: A + B Problem II Time Limit: 2000/1000 M ...
- hdu1032 Train Problem II (卡特兰数)
题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...
- nyoj 623 A*B Problem II(矩阵)
A*B Problem II 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 ACM的C++同学有好多作业要做,最头痛莫过于线性代数了,因为每次做到矩阵相乘的时候,大 ...
- HDU 1002 A + B Problem II
A + B Problem II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16104 Accepted ...
- nyoj 103 A + B problem II
点击打开链接 A+B Problem II 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 I have a very simple problem for you. G ...
- Train Problem II(卡特兰数+大数乘除)
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 1002 A + B Problem II(大整数相加)
A + B Problem II Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u De ...
随机推荐
- SQL-SERVER学习(二) 数据表的存储过程
在C语言的程序设计中,会把一个重复使用的功能提取出来,做成一个的函数,这样就可以减少冗余代码,且更方便维护.调用.在面向对象的设计语言中,会把一个重复使用的功能提取出来,做成一个类,同样也是为了减少冗 ...
- xtrabackup在线迁移mysql并搭建为主主同步
一.背景 工作中有需求数据库需要迁移,但是不能停服,不能锁库锁表影响业务的正常运行,所以使用XtraBackup 二.环境: 操作系统:CentOS Linux release 7.4.1708 (C ...
- Boost智能指针——weak_ptr
循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象.一个简单的例子如下: #include <string>#include <iost ...
- POJ-2429 GCD & LCM Inverse---给出gcd和lcm求原来两个数
题目链接: https://cn.vjudge.net/problem/POJ-2429 题目大意: 给出两个数的gcd和lcm,求原来的这两个数(限定两数之和最小). 解题思路: 首先,知道gcd和 ...
- PowerDNS简单教程(4):优化篇
目录: PowerDNS简单教程(1):安装篇 http://www.cnblogs.com/anpengapple/p/5205130.html PowerDNS简单教程(2):功能篇 http:/ ...
- Python中返回SQL字段名
def ReturnInfo(self, avalue, akey): cursor = connection.cursor() if type(avalue) == int: Sql = " ...
- checkbox的readonly属性设置
方式一: checkbox没有readOnly属性,如果使用disabled=“disabled”属性的话,会让checkbox变成灰色的,用户很反感这种样式可以这样让它保持只读: 设置它的oncli ...
- select、poll和epoll比较
select select能监控的描述符个数由内核中的FD_SETSIZE限制,仅为1024,这也是select最大的缺点,因为现在的服务器并发量远远不止1024.即使能重新编译内核改变FD_SETS ...
- 【转】android 常用theme
android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式android:theme="@android ...
- jquery ajax 标准写法
$.ajax({ url:"http://www.microsoft.com", //请求的url地址 dataType:"json", //返回格式为json ...