大数相加

#include <stdio.h>
#include <string.h>
#define N 200
void main()
{
    char s1[N],s2[N];
    int a[N]={0},b[N]={0},l1,l2,c,k,i;
    puts("请输入两个较大的数字(Note:输完一个按一次回车):");
    gets(s1);
    gets(s2);
    l1=strlen(s1);
    l2=strlen(s2);
    if(l1<l2)
        k=l2;
    else
        k=l1;
    c=k;
    for(i=0;i<l1;k--,i++)
        a[k]=s1[l1-1-i]-'0';
    for(k=c,i=0;i<l2;k--,i++)
        b[k]=s2[l2-1-i]-'0';
    printf("\n");
    for(i=c;i>=0;i--)
    {
        a[i]+=b[i];
        if(a[i]>=10)
        {
            a[i]-=10;
            a[i-1]++;
        }
    }
    printf("此两数相加之和为:");
    if(a[0]!=0)
    {
        for(i=0;i<=c;i++)
            printf("%d",a[i]);
    } else {
        for(i=1;i<=c;i++)
            printf("%d",a[i]);
            }
    printf("\n");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值