Test Message

d392: 讀取練習——強大的加法!

內容

說是強大的加法,其實也並沒有那麼可怕。

你的工作很容易,就是把一行輸入的數字加起來就可以啦!


輸入

每行都有一大堆數字,但都很 kind,不會刁難你的,用 longint 就可以了,而且都不是負數。

1 2
2 5  8 8 8              5

輸出

輸出這一行中出現的所有的數字的和並換行。

3
36


解題思路

簡單的字串處理。


完整程式碼

AC (3ms, 68KB)
#include <stdio.h>

inline char* getUInt(unsigned int* dst, char src[])
{
while (*src < '0')
if (!*src++) return NULL;
*dst = *src ^ '0';
while (*++src >= '0')
* dst = (*dst << 3) + (*dst << 1) + (*src ^ '0');
return src;
}

char input[10000];

int main()
{
int sum, tmp;
char* st;
while (gets(input))
{
sum = 0 , st = input;
while (st = getUInt(&tmp , st))
sum += tmp;
printf("%d\n", sum);
}
return 0;
}