C语言 用字符串的形式输入两个长整数(20位以上),计算它们的和,并输出到屏幕上。

C语言 用字符串的形式输入两个长整数(20位以上),计算它们的和,并输出到屏幕上。

int main()
{
    char str1[100],str2[100];
    int a[101];
    int k=0,i,j;
    scanf("%s",str1);
    scanf("%s",str2);
    int len1 = strlen(str1);
    int len2 = strlen(str2);
    int add = 0;
    i=len1-1;
    j=len2-1;
    while(i>=0 || j>=0)
    {
        int n = 0;
        if(i>=0)
            n+=str1[i--]-'0';
        if(j>=0)
            n+=str2[j--]-'0';
        n+=add;
        add = n/10;
        a[k++] = n%10;
    }
    for(i=k-1;i>=0;i--)
        printf("%d",a[i]);
}

 

循环每位相加,记录是否进位就行了

参考下这个https://www.apull.net/html/20200710184538.html