七行プログラミング

このエントリーをはてなブックマークに追加
430ツール・怒・名無しさん
#include <stdio.h>/*小数対応版電卓!あまりTESTしてないけど遊んでね!7行だぜ!*/
typedef double d;char b[999],*p;d T(),F();d E(){d r=T();l:if(*p==43){p++;r+=T()
;goto l;}if(*p==45){p++;r-=T();goto l;}return r;}d T(){d r=F();l:if(*p==42){p++
;r*=F();goto l;}if(*p==47){p++;r/=F();goto l;}return r;}S(){for(;*p==32||*p==9;
p++);}d F(){d r=0,s=1,f=1;S();if(*p==40?p++,r=E(),p++,0:*p==45?p++,r=-F(),0:*p
==43?p++,r=F(),0:1)for(;47<*p&&*p<58;(f?r=10*r+*p++-48:(s/=10,r=r+s*(*p++-48)))
,(*p==46?p++,f=0:0));S();return r;}main(){while(p=gets(b))printf("%g\n",E());}