nyoj 128
測了很長時間,一直runtime error。。才發現是資料輸入的問題沒有考慮完全
比如 + 2 3 (若3後面有空格)
若資料之間有空格 ,你是否處理了?
因此,因為空格的原因。。一直runtime error
同時陣列盡量開大一些。
這裡給乙個 手動處理 浮點數劇原生態**。
#include#include#include#includeusing namespace std;
double stnum[501];
int top = 0;
void calculation(char str) }
int main()
if(i>=0 && str[i] == '.')
sum1 += sum2 ;
} // printf("sum1-->%lf \n",sum1);
stnum[top++] = sum1;
}else if(str[i] == ' ') //多空格處理的
else
}printf("%.2lf\n",stnum[0]);
top--;
} return 0;
}
再給乙個 sscanf 很好用 對字串資料的處理
#include#includedouble stnum[1000];
//stack ststr;
int top = 0;
void calculation(char str) }
int main()
if(str[i] == '.')
}i++;
//printf("i-->%d\n",i);
sscanf(&str[i],"%lf",&sum1);
stnum[top++] = sum1;
i--;
}else if(str[i] == ' ')
else
}printf("%.2lf\n",stnum[0]);
}return 0;
}
NYOJ 128 字首式計算
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 先說明一下什麼是中綴式 如2 3 4 5這種我們最常見的式子就是中綴式。而把中綴式按運算順序加上括號就是 2 3 4 5 然後把運算子寫到括號前面就是 2 3 4 5 把括號去掉就是 2 3 4 5 最後這個式子就是該表示式的字...
NYOJ 128 字首式計算
描述 先說明一下什麼是中綴式 如2 3 4 5這種我們最常見的式子就是中綴式。而把中綴式按運算順序加上括號就是 2 3 4 5 然後把運算子寫到括號前面就是 2 3 4 5 把括號去掉就是 2 3 4 5 最後這個式子就是該表示式的字首表示。給你乙個字首表示式,請你計算出該字首式的值。比如 2 3 ...
nyoj128 字首式計算
先說明一下什麼是中綴式 如2 3 4 5這種我們最常見的式子就是中綴式。而把中綴式按運算順序加上括號就是 2 3 4 5 然後把運算子寫到括號前面就是 2 3 4 5 把括號去掉就是 2 3 4 5 最後這個式子就是該表示式的字首表示。給你乙個字首表示式,請你計算出該字首式的值。比如 2 3 4 5...