#38449: c(2ms,96kb)/c++(2ms,96kb)因為吳教授的講義來練習解題的


bobobo0413 (Andy)

學校 : 國立臺灣大學
編號 : 252359
來源 : [163.30.63.65]
最後登入時間 :
2024-11-11 10:00:57
f640. 函數運算式求值 -- APCS201902程式實作題3 | From: [36.228.234.34] | 發表日期 : 2023-11-24 11:23

c(2ms,96kb)/c++(2ms,96kb)因為吳教授的APCS講義有練習地回的題目,來練習,其實不是很理解eval()為何括號要空白,可能是因為void可省略吧。有X變數就寫X=eval();,有Y就寫X=eval();以此類推。每個函數return他的函式,參考原始碼如下,放C++的:

#include <cstdio>
int e()
{
    int v,x,y,z;
    char c;
    if (scanf("%d",&v)==1)
        return v;
    scanf("%c",&c);
    if(c=='f')
    {
        x=e();
    return 2*x-3;
    }
     else if(c=='g')
     {
         x=e();
         y=e();
         return 2*x+y-7;
     }
     else if(c=='h')
     {
         x=e();
         y=e();
         z=e();
         return 3*x-2*y+z;
     }
}

int main() {
 printf("%d\n", e());
 return 0;
}

 
ZeroJudge Forum