hdu 1002

来源:互联网 发布:大华数据恢复 编辑:程序博客网 时间:2024/04/29 12:29

题目大意:求和,数可能很大,输入n表示要处理的数据数目,注意输出格式。

第一次做大数,做的挺烂。

#include <stdio.h>#include <string.h>int main(){    char s1[1000],s2[1000];    int n1[1000],n2[1000],sum[1000],len1,len2,i,j,max,temp,n;    scanf("%d",&n);    for(i=0;i<n;i++)    {        scanf("%s %s",&s1,&s2);        memset(n1,0,1000*sizeof(int));        memset(n2,0,1000*sizeof(int));        memset(sum,0,1000*sizeof(int));        len1=strlen(s1);        len2=strlen(s2);        temp=0;        for(j=len1;j>0;j--)        {            n1[temp++]=s1[j-1]-'0';        }        temp=0;        for(j=len2;j>0;j--)        {            n2[temp++]=s2[j-1]-'0';        }        max=len1>len2?len1:len2;        for(j=0;j<=max;j++)        {            sum[j]=n1[j]+n2[j]+sum[j];            if(sum[j]>=10)            {                sum[j]-=10;                sum[j+1]+=1;            }        }        printf("Case %d:\n",i+1);        printf("%s + %s = ",s1,s2);        if(sum[max]!=0)        {            while(max+1)            {                printf("%d",sum[max]);                max--;            }            printf("\n");        }        else        {            while(max)            {                printf("%d",sum[max-1]);                max--;            }            printf("\n");        }        if(i==(n-1))            ;        else            printf("\n");    }    return 0;}


0 0
原创粉丝点击