大数相加-简单C语言版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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");

}

相关文档
最新文档