很尴尬的一道题。。。
原题描述如下
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
2 1 2 112233445566778899 998877665544332211
Sample Output
Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110
大数相加,把输入当做字符串 三个数组,c表示他们的和
#include <stdio.h>
#include <string.h>
int main( )
{
int t, i, j, k = 1;
scanf("%d",&t);
while ( t >= k )
{
char a[ 1000] , b[ 1000 ];
int len1, len2, pi, c[ 1000 ] = {0}; //c表示i位下的和
scanf("%s %s", a, b);
len1 = strlen( a ) - 1;
len2 = strlen( b ) - 1;
pi = len1 > len2 ? len1 : len2;
for ( i = 0 ; len1 >= 0; i++,len1-- )
c [ i ] = a [ len1 ] - '0' ;
for ( i = 0 ; len2 >= 0; i++,len2-- )
{
c [ i ] += b [ len2 ] - '0' ;
if ( c [ i ] >= 10 ) //需进位
{
c [ i + 1 ] ++;
c [ i ] -= 10;
}
}
printf("Case %d: \n", k );
printf("%s + %s = ",a ,b );
for ( j = pi ; j >= 0; j -- )
printf("%d",c [ j ] );
k++;
printf("\n");
}
return 0;
}
可是不清楚哪里格式有错误啊啊啊啊???
输出格式空格试了很多遍也还是不对。。。一直Presentation Error。。。