七行プログラミング part4
■ このスレッドは過去ログ倉庫に格納されています
0748もっと短かくできるけど綺麗にまとまった電卓
NGNG#include <stdlib.h>
typedef double d;char buf[80],*p;d e();void s(){while(*p==' '||*p=='\t')p++;}
d n(){d r=0;s();(*p=='(')?(p++,r=e(),p++,0):(r=strtod(p,&p),0);s();return r;}
d t(){d r=n();while(*p=='*'||*p=='/')(*p++=='*')?(r*=n()):(r/=n());return r;}
d e(){d r=t();while(*p=='+'||*p=='-')(*p++=='+')?(r+=t()):(r-=t());return r;}
int main(){while(fgets(p=buf,sizeof buf,stdin))printf(" %g\n",e());return 0;}
■ このスレッドは過去ログ倉庫に格納されています