P1120

复制代码
#include<stdio.h>
#include<string.h> 
int main()
{
    int a[201]={0},b[201]={0};
    char c[201]={'\0'},d[201]={'\0'};  //*字符数组用来储存输入的两个大整数
    while(gets(c))                     //*多组输入 
    {
        gets(d);
        int i,j,k=0;
        for(i=0,j=strlen(c)-1;j>=0;)    //*将字符串转变为整型 ,此处将数反过来储存在整型数组中,方便相加 
           a[i++]=c[j--]-'0';
        for(i=0,j=strlen(d)-1;j>=0;)    //*strlen()-1是要不考虑空字符'\0'的位置 
           b[i++]=d[j--]-'0';
        
        while(k<=200)                 //*判断每一位相加后是否大于10,如果大于就往前一位进1,相应的原位数就减10 
        {
            a[k]+=b[k];
            if(a[k]>=10)
            {
                a[k+1]++;
                a[k]-=10;
            }
            k++;
        }
        int flag=0;//*用来检索第一个不为0的位数
        for(i=200;i>=0;i--)        //*一开始所有数反过来,所以此处i--,从后面往前,就相当于原来的数从前往后 
        {
            if(a[i]!=0)
            {
                flag=i;
                break;
            }
        }
        if(i==-1)        //*此处i==-1表明i==0时仍然不符合条件,break之后按照条件限制还会减1 
           printf("0\n");
        else
        {
            for(i=flag;i>=0;i--)       //*i--,将数重新正过来 
               printf("%d",a[i]);
               putchar('\n');   //*回车换行 
        }
    }
    return 0;
}
复制代码

 

posted @   刘海烽  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示