大数相加-简单C语言版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大数的加法
简单C语言版
直接复制到VC++就可运行
#include
#include
void main()
{
char s1[200],s2[200];
int num1[200]={0},num2[200]={0},len1,len2,i,j; //数组清零
gets(s1);
gets(s2); //输入两个大数装入字符数组
len1=strlen(s1);
len2=strlen(s2); //获得大数的长度
for(i=len1-1,j=0;i>=0;i--)
num1[j++]=s1[i]-'0';
for(i=len2-1,j=0;i>=0;i--)
num2[j++]=s2[i]-'0'; //将字符数组的值转为整形数值并装入数组
for(i=0;i<200;i++)
{
num1[i]+=num2[i];
if(num1[i]>9)
{
num1[i]=num1[1]-10;
num1[i+1]++;
}
} //两个数组按位相加
for(i=199;(i>=0)&&(num1[i]==0);i--); //从高位找出第一个不是零的数if(i>=0)
for(;i>=0;i--)
printf("%d",num1[i]); //输出数组
else
printf("0\n");
}