Integer Inquiry
``This supercomputer is great,'' remarked Chip. ``I only wish Timothy were here to see these results.'' (Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)
The final input line will contain a single zero on a line by itself.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
/****************************
*Name:Integer Inquiry.c
*Tags:ACM BigNumber
*Note:注意细节
****************************/
#include <stdio.h>
#include <string.h>
int main()
{
int N, num[101], i, j, c, l, min;
char str[101];
scanf("%d", &N);
getchar();
while(N--) {
getchar();
for(i = 0; i < 101; i++) {
num[i] = 0;
}
j = 100;
min = 101;
while(gets(str) && (str[1] != '\0' || str[0] != '0')) {
l = strlen(str);
for(i = l-1, j = 100; i >= 0; i--, j--) {
num[j] += (str[i]-'0');
}
if(j < min) {
min = j; //注意记录每次数据的最长大小
}
}
c = 0;
j = min;
for(i = 100; i > j; i--) {
num[i] += c;
c = num[i] / 10;
num[i] = num[i] % 10;
}
if(c) {
num[j] = c;
}
while(j < 101 && !num[j]) {
j++;
} //处理全为零的情况
if(j == 101) {
printf("0\n");
} else {
while(j < 101) {
printf("%d", num[j]);
j++;
}
printf("\n");
}
if(N) {
printf("\n");
}
}
return 0;
}