描述
给你4个自然数,请你将这四个数相加。
输入
输入数据有多组,第一行为测试数据的组数n,下面有n行,每行有4个自然数,每个数最多不超过2008位。
输出
输出4个数相加的结果。
样例输入
2
0 1 2 3
1000000 1000000 1000000 1000000
样例输出
6
4000000
1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 #include<ctype.h> 5 6 char a[2013],b[2013],c[2013],d[2013],L[2013]; 7 8 void solve() 9 { 10 int n,len,i,j,t,flag; 11 int len1,len2,len3,len4; 12 char *p,*q,*r,*s,*l; 13 scanf("%d",&n); 14 while(n--){ 15 scanf("%s",a);scanf("%s",b);scanf("%s",c);scanf("%s",d); 16 len1=strlen(a);len2=strlen(b);len3=strlen(c);len4=strlen(d); 17 p=strrev(a);q=strrev(b);r=strrev(c);s=strrev(d); 18 i=t=flag=0; 19 while(*p||*q||*r||*s){ 20 if(*p!='\0') t+=*p-'0'; 21 if(*q!='\0') t+=*q-'0'; 22 if(*r!='\0') t+=*r-'0'; 23 if(*s!='\0') t+=*s-'0'; 24 t+=flag; 25 L[i++]=t%10+'0'; 26 flag=t/10; 27 p++;q++;r++;s++; 28 t=0; 29 } 30 if(flag) L[i]=flag+'0'; 31 len=strlen(L); 32 l=strrev(L); 33 printf("%s\n",l); 34 memset(a,'\0',len1*sizeof(char)); 35 memset(b,'\0',len2*sizeof(char)); 36 memset(c,'\0',len3*sizeof(char)); 37 memset(d,'\0',len4*sizeof(char)); 38 memset(L,'\0',len*sizeof(char)); 39 } 40 } 41 42 int main() 43 { 44 solve(); 45 return 0; 46 }
下面的代码,不用strrev()函数,同样可以AC
1 #include<stdio.h> 2 #include<string.h> 3 char a[2009],b[2009],c[2009],d[2009],L[2011]; 4 void solve() 5 { 6 int n,len,i,j,t,flag; 7 int len1,len2,len3,len4; 8 char *p,*q,*r,*s,*l; 9 scanf("%d",&n); 10 while(n--){ 11 scanf("%s",a);scanf("%s",b);scanf("%s",c);scanf("%s",d); 12 len1=strlen(a);len2=strlen(b);len3=strlen(c);len4=strlen(d); 13 p=a+len1-1;q=b+len2-1;r=c+len3-1;s=d+len4-1; 14 i=t=flag=0; 15 while(p>=a||q>=b||r>=c||s>=d){ 16 if(p>=a) t+=*p-'0'; 17 if(q>=b) t+=*q-'0'; 18 if(r>=c) t+=*r-'0'; 19 if(s>=d) t+=*s-'0'; 20 t+=flag; 21 L[i++]=t%10+'0'; 22 flag=t/10; 23 p--;q--;r--;s--; 24 t=0; 25 } 26 if(flag) L[i]=flag+'0'; 27 len=strlen(L); l=strrev(L); 28 printf("%s\n",l); 29 memset(a,'\0',len1*sizeof(char)); 30 memset(b,'\0',len2*sizeof(char)); 31 memset(c,'\0',len3*sizeof(char)); 32 memset(d,'\0',len4*sizeof(char)); 33 memset(L,'\0',len*sizeof(char)); 34 } 35 } 36 int main() 37 { 38 solve(); 39 return 0; 40 }