【来源】https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2266
此题比较简单,主要工作在于字符串的分割,怎么把代码写得漂亮点才是重点,可读性很重要。利用函数atof(stdlib.h)要比一位位去拼数字要方便点。
#include <iostream> #include <stdio.h> #include <cstring> #include <stdlib.h> #define MAXLEN 100005 using namespace std; int SubExpLen(char* s, int start) { int len=0; if(s[start]!='(') { while(s[start+len]!=' ') { len++; } return len; } //第一个字符是'(' int num=1; len=1; while(num) { if(s[start+len]=='(') num++; if(s[start+len]==')') num--; len++; } return len; } double ToDouble(char* s, int start, int length) { char sub[MAXLEN]; strncpy(sub,s+start,length); sub[length]='