Untitled
unknown
plain_text
2 years ago
1.0 kB
6
Indexable
#include <stdio.h> #include <string.h> #include <ctype.h> #include <limits.h> #include "function.h" int solver(int **ptr, int *sum, char *s){ int len = strlen(s); int neg[len]; int j = 0, d = 0;//用tmp判斷讀到下一個數字了沒 //j為index,用來儲存每個數字的值 for(int i = 0; i <= len; i++) neg[i] = 1; for(int i = 0; i <= len; i++){ if(d == 1 && !isdigit(s[i])){ *sum += *ptr[j]; d = 0; j++; } if(s[i] == '-') neg[j] = -1;//如果是負數,先初始化成INT_MAX方便判斷 if(isdigit(s[i])){ d = 1; if(neg[j] >= 0){ *ptr[j] = (*ptr[j])*10 + (s[i] - '0'); } else{ // if(*ptr[j] == -1) *ptr[j] = -(s[i]-'0'); // else *ptr[j] = (*ptr[j])*10 - (s[i]-'0');//如果是負數,後面的數字用-的來加上去 *ptr[j] = (*ptr[j])*10 - (s[i]-'0'); }
Editor is loading...