网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月20日
漏签
0
天
c语言吧
关注:
798,914
贴子:
4,351,579
看贴
图片
吧主推荐
视频
游戏
24
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
关于基本计算器的编写
只看楼主
收藏
回复
522137365
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
本人大一,这是助教布置下来的一道题。。要求输入一道表达式,输出这个表达式的答案。
例如:输入1+(2.5*3);输出8.5
助教给的提示是用两个数组,一个存数字,一个存符号。但是这里我就不会了,怎么样在读取前判断需要读入的是浮点数还是符号啊。。
求指教
522137365
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
for(i=0,j=0;;)
{
in_success=scanf("%f",&sz[i]);
if(in_success)
{
i++;
}
scanf("%c",&fh[j]);
if(fh[j]=='\n')
break;
else
j++;
}
Hope_20121221_
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
输入字符串然后分别判断字符, 最后sscanf?
tufeididi007
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
栈,
czw19931006
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
用3个数组,一个接收数字,一个接收符号,最后一个保存整个表达式。
将表达式依次拆解,入那2个数组。其间的操作你应该看看atof这个函数的过程。
最后就。。。。
82015028
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我是来拿经验的
522137365
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include <stdio.h>#include <stdlib.h>#include <ctype.h>
void match(char expectedch);float jia(void);float cheng(void);float zhuanhua(void);
char ch;
int main(void){ float result; ch = getchar(); result = jia(); if(ch=='\n') printf("Result = %f\n",result); return 0;}
void match(char expectedch){ if(ch==expectedch) ch=getchar();}
float jia(void){ float temp = cheng(); while((ch=='+')||(ch=='-')) switch(ch) {
case '+':
match('+');
temp+=cheng();
break;
case '-':
match('-');
temp-=cheng();
break;
default:
puts("Error!!");
return 0; } return temp;}
float cheng(void){ float temp = zhuanhua(); while((ch=='*')||(ch=='/')) switch(ch) {
case '*':
match('*');
temp*=cheng();
break;
case '/':
match('/');
temp/=cheng();
break;
default:
puts("Error!!");
return 0; } return temp;}
float zhuanhua(void){ float temp; if(ch=='(') { match('('); temp = jia(); match(')'); } else if(isdigit(ch)) { ungetc(ch,stdin); scanf("%f",&temp); ch = getchar(); } return temp;}
幽罹焰
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
头像!楚轩大校!?
幽罹焰
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当初我实现的时候是用了枚举表示该单元是数字还是符号
衰样一个
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
留
blushadow
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好久不用这种方法写表达式求值了。现在流行用递归函数。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示