您的位置:首页 > 产品设计 > UI/UE

HDOJ 1047 Integer Inquiry

2014-02-14 12:51 288 查看
原题链接

注意只输入0的时候直接输出0;

附ac代码:

#include <stdio.h>
#include <string.h>
#define MAX 100 + 5
char s[MAX], buf[MAX];

void Compu(int len){
//s[MAX - 1]为个位
int jin, i, j, t;
for(jin = 0, i = MAX - 2, j = len - 1; j >= 0; --j, --i){
t = buf[j] - '0' + s[i] - '0' + jin; jin = 0;
if(t > 9){
jin = 1;
t -= 10;
}
s[i] = t + '0';
}
while(jin){ //处理类似999+1的情况
t = s[i] - '0' + jin; jin = 0;
if(t > 9){
jin = 1;
t -= 10;
}
s[i] = t + '0';
}
}

int main(){
int t, len, i;
scanf("%d", &t);
while(t--){
memset(s, '0', sizeof(s));
s[MAX - 1] = '\0';
while(scanf("%s", buf) == 1){
len = strlen(buf);
if(buf[0] == '0' && len == 1) break;
Compu(len);
}
for(i = 0; s[i] == '0'; ++i)
;
if(i == MAX - 1) putchar('0');
while(i < MAX - 1)
putchar(s[i++]);
if(t) puts("\n");
else puts("");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HDOJ1047 HDOJ 1047