hdu 1002 A + B Problem II
来源:互联网 发布:企业网易邮箱端口号 编辑:程序博客网 时间:2024/05/17 13:09
A + B Problem II
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 154521 Accepted Submission(s): 29236
Problem Description
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.
Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.
Output
For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases.
Sample Input
21 2112233445566778899 998877665544332211
Sample Output
Case 1:1 + 2 = 3Case 2:112233445566778899 + 998877665544332211 = 1111111111111111110
Author
Ignatius.L
水题但是需要注意的细节有很多。
#include <stdio.h>#include<string.h>char a[1500],b[1500];int c[1500],d[1500];int change(char *s,int *value){ int len,i,j,temp,flag=0;//用于去掉前导0,虽然这道题没用到 for(i=0,j=0;s[i]!='\0';i++) { temp=s[i]-'0'; if(temp!=0) flag=1; if(flag==1||s[i+1]=='\0')//将字符串转换为数字存入int数组。排除全0情况 value[j++]=temp; } len=j-1; for(i=0,j=len;i<j;i++,j--)//将int数组倒置方便运算 { temp=value[i]; value[i]=value[j]; value[j]=temp; } return len;}int main(){ int t,i,j,len,len1,len2,s; scanf("%d",&t); getchar();//注意用它接收回车字符 for(i=1;i<=t;i++) { memset(c,0,sizeof c); memset(d,0,sizeof d); scanf("%s%s",a,b); len1=change(a,c); len2=change(b,d); len=len1>len2?len1:len2; s=j=0; while(1) { if(s==0&&c[j]==0&&d[j]==0&&j>len)//判断运算是否结束 break; c[j]=c[j]+d[j]+s;//模拟手算 s=c[j]/10; c[j]=c[j]%10; j++; } len=j-1; printf("Case %d:\n",i); printf("%s + %s = ",a,b);//注意格式 for(j=len;j>=0;j--) printf("%d",c[j]); printf("\n"); if(i<t)//注意最后一组数据后没空格!!! printf("\n"); } return 0;}
- HDU 1002 A + B Problem II
- HDU 1002A + B Problem II
- HDU 1002 - A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A+B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II (BigNums)
- hdu 1002 A + B Problem II
- hdu 1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- Hdu---A + B Problem II---1002
- 简化存货核算方法和物料分类帐对比
- Word的页码
- IE7常见bug: <li>下边的3px bug
- Wince下检测SD/USB插拔
- android之dom解析xml 样式二
- hdu 1002 A + B Problem II
- 在一个vba里去操作指定目录下的EXLCE
- win7和VS2010下配置OpenGL的方法
- Vitamio工程建立
- Direct IO的程序实现
- 杂谈-1
- hdu 3367 Pseudoforest(最大生成树)
- __stdcall等调用规约
- 利用Graphviz 画结构图