導航:首頁 > 編程語言 > 逆波蘭計算器編程教程

逆波蘭計算器編程教程

發布時間:2024-05-01 18:43:20

❶ c語言編程題, 求大神幫忙,這可是競賽題

逆波蘭表示的計算器

#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#defineNUMBER'0'
voingetch(charc);
intgetch();
intgetop(char*s);
voidpush(doublenumber);
doublepop();
/*以上為聲明說明部分*/
intmain(){
char*s,c;
doubleop_temp;
s=(char*)malloc(100*sizeof(char));
printf("逆波蘭表示的計算器 使用方法:輸入兩個數值再輸入運算符號(例如:34+5*(Enter)表示(3+4)*5) ");
printf("按<Esc>可以結束程序 ");
while((c=getop(s))!=EOF)
{
switch(c)
{
caseNUMBER:printf("NUMBER:%s ",s);push(atof(s));break;
case'+':push(pop()+pop());break;
case'-':op_temp=pop();push(pop()-op_temp);break;
case'*':push(pop()*pop());break;
case'/':if((op_temp=pop()))push(pop()/op_temp);break;
case' ':printf("result=%.8g ",pop());break;
case27:exit(0);
default:printf("error,unknown%c ",c);break;
}
}
return0;
}
/*分析文本流部分*/
intgetop(char*s1){
charc;
inti=0;//printf("c:%d ",c=getch());
while((c=getch())==''||c==' ');
*s1=c;
if(!isdigit(c))returnc;//若數字字元則返回字元
while((c=getch())!=EOF&&c!=13)
{
if(isdigit(c)){s1[++i]=c;s1[i+1]='';}
//原主函數只申請了一個指針s且沒有分配內存現在卻將其當成數組使用,沒問題么?個人觀點,我也不是很懂
else
{
if(c=='.')
{
s1[++i]=c;
continue;
}
else
{
ungetch(c);
s1[++i]='';
returnNUMBER;
}
}
}
returnc;
}
/*獲取字元和回退字元部分*//*對緩存棧中的字元數不加限制*/
intcpointer[100];
/*如果這里改為int*cpointer,計算浮點時就會出錯*/
intc_count=0;intgetch(){
return(c_count>0)?cpointer[--c_count]:getchar();
}
voingetch(charc){
cpointer[c_count++]=c;
}
/*進出棧部分*/
double*number_stack=(double*)malloc(100*sizeof(double));
intn_count=0;
voidpush(doublenumber){
number_stack[n_count++]=number;
}
doublepop(){
if(n_count>0)
returnnumber_stack[--n_count];
elseprintf("errorofpop");
return0;
}

❷ 用C語言編寫計算器

#include <iostream.h>
void main()
{
int i;
cout<<"i"<<i++<<i--<<endl;
}
這個算不算.哈哈.

閱讀全文

與逆波蘭計算器編程教程相關的資料

熱點內容
程序員文采 瀏覽:12
箍筋間距加密到100 瀏覽:506
pop3伺服器怎麼裝 瀏覽:144
cpp編譯解決命名沖突問題 瀏覽:514
單片機的晶振頻率 瀏覽:488
翻樣軟體加密鎖問題 瀏覽:213
電腦怎麼設置dhcp伺服器地址 瀏覽:598
十天突破雅思寫作劍8pdf 瀏覽:362
如何判定伺服器硬碟燒了 瀏覽:251
數值逼近pdf 瀏覽:714
程序員跪鍵盤 瀏覽:6
江蘇銀行app換設備電話按哪個鍵 瀏覽:243
圖片無損壓縮怎麼辦 瀏覽:14
如何確認伺服器的光口網卡 瀏覽:251
nb1111y壓縮機性能數據 瀏覽:557
下一代編譯器 瀏覽:140
用什麼app可以查產品批號 瀏覽:445
python自動補齊 瀏覽:913
蘋果wifi安卓怎麼連接不上 瀏覽:943
為什麼有的app只能用蘋果支付 瀏覽:183