http://www.oschina.net/code/snippet_126251_4292#include<iostream>
#include<string.h>
using namespace std;
int main()
{
int len1,len2,len;
int i,k;
char a[200],b[200];
char c[201];
cout<<"输入第一个数吧"<<endl;
gets(a);
cout<<"输入第二个数吧"<<endl;
gets(b);
len1=strlen(a);
len2=strlen(b);
if(len1>len2)
{
len=len1;
for(k=0;k<len1-len2;k++)
c[k]=a[k]+0;
for(i=k;i<len1;i++)
{
c[i]=a[i]+b[i-k]-48;
}
}
else
{
len=len2;
for(k=0;k<len2-len1;k++)
c[k]=b[k]+0;
for(i=k;i<len2;i++)
{
c[i]=a[i-k]+b[i]-48;
}
}
for(i=len-1;i>0;i--)
{
switch(c[i])
{
case 58:c[i-1]+=1;c[i]=48;break;
case 59:c[i-1]+=1;c[i]=49;break;
case 60:c[i-1]+=1;c[i]=50;break;
case 61:c[i-1]+=1;c[i]=51;break;
case 62:c[i-1]+=1;c[i]=52;break;
case 63:c[i-1]+=1;c[i]=53;break;
case 64:c[i-1]+=1;c[i]=54;break;
case 65:c[i-1]+=1;c[i]=55;break;
case 66:c[i-1]+=1;c[i]=56;break;
}
}
if(c[0]>=58)
{
for(i=len;i>0;i--)
c[i]=c[i-1];
c[0]=49;
switch(c[1])
{
case 58:c[1]=48;break;
case 59:c[1]=49;break;
case 60:c[1]=50;break;
case 61:c[1]=51;break;
case 62:c[1]=52;break;
case 63:c[1]=53;break;
case 64:c[1]=54;break;
case 65:c[1]=55;break;
case 66:c[1]=56;break;
}
len=len+1;
}
for(i=0;i<len;i++)
cout<<c[i];
cout<<endl;
return 0;
}
使用这个代码的时候请在第一个switch中加入case 67:c[i-1]+=1;c[i]=57;break;
在第二个switch中加入case 67:c[1]=57;break;
分享到:
相关推荐
大整数相加源代码
本程序的功能是实现无限大的2个整数相加或者相减,供编程初学者参考
php 的大整数相加 1111111111111
(数据结构与算法)两个大整数相加 http://blog.csdn.net/eeeduo/article/details/37877179
杭州电子科技大学hdoj1002,大整数相加问题
大整数相加,计算两个非负整数的和,可以精确计算2的100次方,杨辉三角第100行等问题。
两个超出长整型范围的整数相加 c语言 小程序
这是一个可以让C语言实现2个超大整数相加的程序,会给你设计C程序时有一定的启发!
如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算。
用两个单链表实现两个大型整数的相加。。。。不限制两个数的位数,可以大于整数在计算机的存储
实现一个加法器,使其能够输出a+b的值。输入包括两个数a和b,其中a和b的位数不超过1000位。可能有多组测试数据,对于每组数据,输出a+b的值。
自己写的一个小程序,不知道有没有人能用上
一个由C语言实现的长整数相加程序,通过链表实现功能,可以适当扩展为其它的运算功能。
主要介绍了java中超过long范围的超大整数相加算法(面试高频),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
课程设计任务是用链表(单链表或双向链表)实现任意位数的整数相加 (1) 输入的形式和输入值的范围; 输入的形式为字符,输入值的范围为整数。 (2) 输出的形式;整型 。 (3) 程序所能达到的功能; 实现任意位数的两个...
c语言实现的大整数相加,已通过相当严格的测试,保证正确,请注明cherry
可以用C语言实现任意大的两整数相加减,克服不能运行较大数相加减
此程序是用C++实现的,完全按照模板的形式,分别用单~双链表实现的。 绝对超值~~~~~~~·
java实现大数相加,在不使用BigInteger工具的前提下实现大数相加