很多做题的时候都会碰到一类问题---大数问题,大数的四则运算是不能直接使用int或者long int等方式来定义变量的,这就需要我们自己写一个四则运算的规则来让这些大数进行运算,加法的代码如下:
#include<stdio.h>
#include<string.h>
int ADD(char str1[],char str2[],int sum[])//最好还是定义函数,这样的话后面主函数看起来会很舒服。
{
int i,j;
int len1,len2,len;
int num1[1000],num2[1000];
len1=strlen(str1);
len2=strlen(str2);
len=len1>len2 ? len1:len2;//寻找两个字符串中长的那个然后记录。
for(j=0,i=len1-1;i>=0;i--,j++)
sum[j]=str1[i]-'0';
for(j=0,i=len2-1;i>=0;i--,j++)
num2[j]=str2[i]-'0';//字符换数字,上同。
for(i=0;i<=len;i++){
sum[i]+=num2[i];
if(sum[i]>9){ //进位*这里是核心!!
sum[i]-=10;
sum[i+1]++;
}
}
if(sum[len]>0)
len++;
return len;
}
int main()
{
int len,i;
int sum[1000]={0};
char str1[1000],str2[1000];
scanf("%s %s",&str1,&str2);
len=ADD(str1,str2,sum);
for(i=len-1;i>=0;i--){
printf("%d",sum[i]);
}
return 0;
}
代码并不难,只不过很麻烦就是了