帶有命令列引數的逆波蘭計算器

2021-08-26 02:57:56 字數 1209 閱讀 2821

由《c程式語言》p64頁與5-10練習題改編成

#include

#include

#define maxline 100

#define number '0'//是數字的標誌

/*逆波蘭計算器*/

double atoi(char *s);

void push(double number);

double pop();

char getop(char *s, char *str);

double stack[maxline];

int k = 0;//棧中指標的位置

int main(int argc, char *argv)

else

push(num2 / num1);

break;

default:

printf("the char is illegal!");

break;}}

printf("%.4g\n", pop());

return 0;

}//將字串s轉換為對應數字

double atoi(char *s)

if(*s == '.')

sum = sign * sum / flag;

// printf("%lf\n", sum);

return sum;

}//將數字放入棧中

void push(double number)

else

stack[k++] = number;

}//將棧頂數字取出

double pop()

else

return stack[--k];

}//從str中獲取下乙個數字或運算子,儲存在r字串s中

char getop(char *s, char *str)

else if(!isdigit(*str) && *str != '.')

return *str;

while(isdigit(*str))

if(*str == '.')

*s++ = *str++;

while(isdigit(*str))

*s = '\0';

return number;

}注意,程式應該也可以計算帶負數的式子。這一點我在第一遍寫出來**後,不能實現該功能,後來才想起來。所以要注意容易被遺忘的條件。

命令列 計算器

using system using system.collections.generic using system.text namespace calc console.writeline 請再次輸入乙個數字。ls s console.readline trim li s convert.toi...

linux命令列計算器

下面總結linux下的三個命令,來介紹一下linux下的計算方法 1 bc bc在預設的情況下是個互動式的指 令。在bc工作環境下,可以使用以下計算符號 加法 減法 乘法 除法 指數 餘數 一行輸入多個計算,用 相隔 quit 退出 scale 3 設小數字 不進行互動而直接計算出結果 echo s...

linux BC命令列計算器

1.基本使用 bc 5 4 20 bc 5 4 9 bc 5 4 1或者 echo 5 4 bc 20 echo 5 4 bc 9 echo 5 4 bc 1 也能夠把算式寫到檔案中面。然後一次計算。cat calcfile 5 56 7 bc calcfile 1013也能夠使用here 命令 b...