uppga.c (612B)
1 #include "common.h" 2 3 #include <stdlib.h> 4 5 static int is_numeric(const char c) { return ('0' <= c) && (c <= '9'); } 6 7 int main(int argc, char **argv) { 8 char **lines; 9 size_t nlines = readlines(&lines, "input"); 10 11 size_t i; 12 char *cc; 13 char fc[3]; 14 char ci; 15 int x = 0; 16 for (i = 0; i < nlines; i++) { 17 cc = lines[i]; 18 ci = 0; 19 fc[1] = '\0'; 20 while (*cc != '\0') { 21 if (is_numeric(*cc)) { 22 *(fc + ci) = *cc; 23 if (ci == 0) 24 ci++; 25 } 26 cc++; 27 } 28 29 if (fc[1] == '\0') 30 fc[1] = fc[0]; 31 32 fc[2] = '\0'; 33 x += atoi(fc); 34 } 35 36 printf("%d\n", x); 37 }