导航:首页 > 编程语言 > 逆波兰计算器编程教程

逆波兰计算器编程教程

发布时间: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;
}
这个算不算.哈哈.

阅读全文

与逆波兰计算器编程教程相关的资料

热点内容
云服务器建设原理 浏览:256
javajunit4for 浏览:843
华为服务器如何进阵列卡配置 浏览:433
apache服务器ip地址访问 浏览:718
如何买到安卓手机预装软件 浏览:537
冤罪百度云不要压缩 浏览:85
苏州云存储服务器 浏览:173
解压收纳原声 浏览:384
java注册验证 浏览:374
火花app怎么上推荐 浏览:980
什么app能游戏投屏到电视上 浏览:455
服务器托管到云端是什么意思 浏览:835
app保存草稿怎么用 浏览:808
安卓如何进入proumb 浏览:144
主机虚拟云服务器 浏览:619
删除分区加密的空间会不会恢复 浏览:706
京东app客户上门怎么看搜索量 浏览:741
怎么在农行app购买黄金 浏览:46
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904