大数相加
2015-04-12 20:31
134 查看
#include<stdio.h> #include<string.h> int main() { char a1[1100],b1[1100]; int T,a[1100],b[1100],c[1100]; int n,i,j,k,k1,La1,Lb1,t,L; scanf("%d",&T); for(n=1;n<=T;n++) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); scanf("%s%s",&a1,&b1); La1=strlen(a1); Lb1=strlen(b1); printf("Case %d:\n",n); for(i=0;i<La1;i++)//输出第一个数 { printf("%c",a1[i]); } printf(" + "); for(i=0;i<Lb1;i++)//输出第二个数 { printf("%c",b1[i]); } printf(" = "); for(j=La1-1,t=0;j>=0;j--,t++)//反序 { a[t]=a1[j]-'0'; } for(k=Lb1-1,t=0;k>=0;k--,t++)//反序 { b[t]=b1[k]-'0'; } L=(La1>=Lb1?La1:Lb1); for(i=0;i<=L-1;i++)//加法运算 { c[i]=(a[i]+b[i])+c[i]; if(c[i]>=10) { c[i]=c[i]%10; c[i+1]++; } } if(c[L]!=0) { L++; } for(i=L-1;i>=0;i--)//输出运算结果 { printf("%d",c[i]); } printf("\n"); if(n!=T)//注意要求两组之间输出空行 { printf("\n"); } } return 0; }
点击打开链接
相关文章推荐
- poj 1047多个大数相加
- hdu 1250 大数相加并用数组储存
- Lovekey+26进制大数相加
- 大数相乘和相加
- 大数问题:用字符串解决大数相加和相乘。
- [ACM]A + B Problem (大数相加3种方法)
- poj1503 Integer Inquiry (大数相加)
- 简单大数相加
- HDOJ1002 大数相加
- codewars打怪升级日记 用JavaScript实现大数相加 /像数字一样加数字型字符串
- 大数相加
- 用字符串实现大数的相加,没有考虑存在负数的情况
- hdoj1002A + B Problem II(大数相加)
- acm1002 大数相加
- 字符串实现大数相加
- HDOJ1002大数相加
- [ACM]hdu 1002 A + B Problem II (复习大数相加)
- 大数相乘+大数相加
- 大数相加
- 大数相加