HDU 1753 大数 strchr

来源:互联网 发布:中华软件网 编辑:程序博客网 时间:2024/06/10 04:18
#include<stdio.h>#include<string.h>int a[1010],b[1010],sum[1010];char str[1010];int main(){int i,j,k,n,s,c;while(scanf("%s",str)==1){memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(sum,0,sizeof(sum));n=strlen(str);if(strchr(str,'.')==NULL)k=n;elsek=strchr(str,'.')-str;for(i=k-1,j=500;i>=0;i--,j++)a[j]=str[i]-'0';for(i=k+1,j=499;i<n;i++,j--)a[j]=str[i]-'0';scanf("%s",str);n=strlen(str);if(strchr(str,'.')==NULL)k=n;elsek=strchr(str,'.')-str;for(i=k-1,j=500;i>=0;i--,j++)b[j]=str[i]-'0';for(i=k+1,j=499;i<n;i++,j--)b[j]=str[i]-'0';c=0;for(i=0;i<1010;i++){s=a[i]+b[i]+c;sum[i]=s%10;c=s/10;}for(i=1009;i>500;i--)if(sum[i])break;for(;i>=500;i--)printf("%d",sum[i]);for(j=0;j<500;j++)if(sum[j])break;if(j!=500){printf(".");for(i=499;i>=j;i--)printf("%d",sum[i]);    }printf("\n");}return 0;    }

原创粉丝点击