C/C++の宿題を片付けます 103代目
at TECH
893:デフォルトの名無しさん
08/02/03 08:25:55
>>887
575 デフォルトの名無しさん sage 2007/02/22(木) 19:31:21
>>574
ほい。
#include<stdio.h>
#include<stdlib.h>
char buf[100],*src=buf;
double atm(void);
double mul(double r){return*src=='*'?++src,mul(r*atm()):*src=='/'?++src,mul(r/atm()):r;}
double add(double r){return*src=='+'?++src,add(r+mul(atm())):*src=='-'?++src,add(r-mul(atm())):r;}
double atm(void){
double r;
while(isspace(*src))++src;
if(*src == '(')++src,r = add(mul(atm())),++src;
else r = strtod(src,&src);
while(isspace(*src))++src;
return r;
}
int main(){gets(src);printf("%f\n",add(mul(atm())));}
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4963日前に更新/357 KB
担当:undef