1.实现大整数相加2.输出数据不允许左边有零,就是001+002不能=003要等于3,条件1这个代码可以实现,条件2该怎么实现


#include<stdio.h>
#include<string.h>
int main()
{
    char s1[1003],s2[1003];
    int a[1000]={0},b[1000]={0},sum[1000]={0};
    int i,j,len1=0,len2=0,len_max,k=0;
    gets(s1);
    gets(s2);
    len1=strlen(s1);
    len2=strlen(s2);
    if(len1>len2)    len_max=len1;
    else             len_max=len2;
    for(i=0,j=len1-1;j>=0;i++,j--) a[i]=s1[j]-'0';
    for(i=0,j=len2-1;j>=0;i++,j--) b[i]=s2[j]-'0';
    for(i=0,j=0;i<len_max||j<len_max;i++,j++)
    {
        if(i>len1-1) a[i]=0;
        else if(j>len2-1) b[j]=0;
        if(a[i]+b[j]>=10)
        {
            sum[i+1]++;
            sum[i]+=a[i]+b[i]-10;
        }
        else sum[i]+=a[i]+b[j];
    }
    if(sum[len_max]==1) printf("1");
    for(i=len_max-1;i>=0;i--) printf("%d",sum[i]);
    printf("\n");
    return 0;
}
29行删除i=len_max-1,上面插入一行:for(i=len_max-1;sum[i]==0;i--);

1实现了2好办,输出的时候加个判断,跳过开头的0