Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <ctype.h>
- #include <string.h>
- enum { SIZE = 16 };
- int main(void) {
- long long int res = 0;
- unsigned long long num = 0;
- int sign = 0, tmp = 0;
- unsigned char line[16];
- while ((tmp = read(0, line, SIZE)) != 0) {
- //printf("%d\n", tmp);
- for (int i = 0; i < tmp; i++) {
- //printf("i %d\n",i );
- if (isspace(line[i])) {
- //printf("1\n");
- if (sign == 1) {
- num = ~num + 1;
- sign = 0;
- printf("%lld\n", num);
- }
- res += num;
- num = 0;
- } else if (line[i] == '-') {
- sign = 1;
- } else if (line[i] != '+') {
- num = num * 10 + line[i] -'0';
- //printf("-- %lld\n", num);
- }
- }
- memset(line, 0, SIZE);
- }
- printf("%lld\n", res);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement