From ab6067e1d13c4c5d9d288f1c629f25eaaa800cb0 Mon Sep 17 00:00:00 2001 From: poyo Date: Fri, 17 Jul 2026 18:01:01 +0200 Subject: [PATCH] final ig --- main.c | 26 +++++++++++++++----------- min.c | 5 +++++ 2 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 min.c diff --git a/main.c b/main.c index 4c120a9..20907b2 100644 --- a/main.c +++ b/main.c @@ -1,24 +1,28 @@ +#include #include +#include +#include int main() { while (1) { - char input[99]; // 22+5+2+1 - char currentNumber = 0; // 2, 22, 5, 2, 1 - int result = 0; // 10 + char input[99]; + int result = 0; scanf("%s", input); + char *token = strtok(input, "+"); - for (int i = 0; input[i] != '\0'; i++) { - if (input[i] == 43) { - result += currentNumber; - currentNumber = 0; - } else { - currentNumber = currentNumber * 10 + (input[i] - 48); + while (token != NULL) { + char *p = token; + while (*p) { + if (!isdigit((unsigned char)*p)) { + return 1; + } + p++; } + result += atoi(token); + token = strtok(NULL, "+"); } - result += currentNumber; - printf("%d\n", result); } } \ No newline at end of file diff --git a/min.c b/min.c new file mode 100644 index 0000000..c27dc3b --- /dev/null +++ b/min.c @@ -0,0 +1,5 @@ +#include +#include +#include +#include +int main(){while(1){char i[99];int res=0;scanf("%s",i);char*t=strtok(i,"+");while(t!=NULL){char*p=t;while(*p){if(!isdigit((unsigned char)*p)){return 1;}p++;}res+=atoi(t);t=strtok(NULL,"+");}printf("\033[A\r\033[2K%i\n",res);}} \ No newline at end of file -- 2.54.0