高精度运算(整数)
#include <stdio.h>#include <stdlib.h>
#include <string.h>
main()
{
int carry,n1[100]={0},n2[100]={0},r[100],i,len,len1,len2,sum;
char s1[100],s2[100];
scanf("%s %s",&s1,&s2);
len1=strlen(s1);
len2=strlen(s2);
for(i=0;i<len1;i++)
n1[i]=s1[len1-1-i]-'0';
for(i=0;i<len2;i++)
n2[i]=s2[len2-1-i]-'0';
len=len1>len2?len1:len2;
carry=0;
for(i=0;i<len;i++)
{
sum=n1[i]+n2[i]+carry;
r[i]=sum%10;
carry=sum/10;
}
if(carry==1)
r[len++]=carry;
for(i=len-1;i>=0;i--)
printf("%d",r[i]);
getch();
}
我初二 刚学
[ 本帖最后由 chao41091153 于 2010-9-15 17:22 编辑 ]