问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 四则混合运算计算器(用 指针) <高额悬赏> 满意加分

发布网友 发布时间:2022-04-30 03:26

我来回答

2个回答

热心网友 时间:2023-10-09 15:10

#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
char token[61]; /*存放表达式字符串的数组*/
int n=0;
void error(void) /*报告错误函数*/
{
printf("ERROR!\n");
exit(1);
}
void match(char expected) /*检查字符匹配的函数*/
{
if(token[n]==expected)
token[++n]=getchar();
else error();
}
double term(void); /*计算乘除的函数*/
double factor(void); /*处理括号和数字的函数*/
double exp(void) /*计算加减的函数*/
{
double temp=term();
while((token[n]=='+')||(token[n]=='-'))
switch(token[n])
{
case'+':match('+');
temp+=term();
break;
case'-':match('-');
temp-=term();
break;
}
return temp;
}
double term(void)
{
double div;
double temp=factor();
while((token[n]=='*')||(token[n]=='/'))
switch(token[n])
{
case'*':match('*');
temp*=factor();
break;
case'/':match('/');
div=factor();
if(div==0) /*处理除数为零的情况*/
{
printf("The divisor is zero!\n");
exit(1);
}
temp/=div;
break;
}
return temp;
}
double factor(void)
{
double temp;
char number[61];
int i=0;
if(token[n]=='(')
{
match('(');
temp=exp();
match(')');
}
else if(isdigit(token[n])||token[n]=='.')
{
while(isdigit(token[n])||token[n]=='.') /*将字符串转换为浮点数*/
{
number[i++]=token[n++];
token[n]=getchar();
}
number[i]='\0';
temp=atof(number);
}
else error();
return temp;
}
main()
{
double result;
FILE *data=fopen("61590_4.dat","at");
if(data==NULL)
data=fopen("61590_4.dat","wt");
if(data==NULL)
return 0;
token[n]=getchar();
result=exp();
if(token[n]=='\n')
{
token[n]='\0';
printf("%s=%g\n",token,result);
fprintf(data,"%s=%g\n",token,result);
}
else error();
fclose(data);
return 0;
getch();
}
我觉得这个就可以.我试了!

热心网友 时间:2023-10-09 15:10

wo有
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小孩子的谜语有哪些? 高频UPS不间断电源厂家有推荐的吗? 农历 女:1986-10-16 属虎,男 1985-02-11 属牛,想在2013 年结婚,请问... ...12月21日出生属牛,女阴历1986年10月20日出生属虎,请问2012上半年哪天... 男属牛农历1985年正月16日生日,女属虎1986年10月26日生日,今年九月份左 ... ...属牛 女方:1986年农历10月20日 属虎 11年4月或5月结婚有合适的日子吗... 凌云诺怎么查看技能信息 凌云诺如何查看技能信息 凌云诺查看品阶福利的操作方法 凌云诺怎么查看品阶福利 凌云诺怎么查看本周个人活跃度 凌云诺查看本周个人活跃度的方法_百度... 深圳宝安正规医院割痔疮要多少钱 有没有带单位换算功能的计算器? 用c语言编程四则混合运算计算器 如何使用计算器进行混合运算 wps如何进行4则混合计算??? EXCEL两个条件筛选100万行的VBA代码 混合运算带开方计算器下载 小数分数混合运算计算器 被只有美睫美甲资质的美容店套路办了四五千的套餐卡,因为去消费者协会投诉没有达成和解,如何维权? excel如何筛选出已知数据? excel如何用代码筛选重复的数据,只留下一个 急求在EXCEL实现某字段自动筛选统计的宏代码,谢谢拉!!! excel里用如何函数实现自动筛选的功能 求教,哪里可以系统的学习3D打印 在EXCEL中怎样从代码列(code)中筛选出有完整2003—2010年的代码? 二级建造师怎么变更注册单位? 关于excel VBA 筛选 代码 二级建造师转注怎么办理? excel按筛选颜色的VBA代码有哪些? 美发美甲店拉客做医美最高返点七成,如何对医美行业进行规范? EXCEL的自动筛选的宏代码,如何使用 中视传媒10派0.48是什么意思 舌尖上的天津煎饼果子薄脆做法 计算机混合运算怎么用 用c语言编写算数四则混合运算计算器 小学四则混合运算出题器下载 得力计算器DL-1541怎样算混合运算 如何用电脑附件中的计算器进行加法和乘法的混合运算 想用C#编一个能混合运算的计算器,谁有设计思路? 用c语言编写四则混合运算的简易计算器 华为MediaPad和华为平板 M3有什么区别 魅族魅蓝metal怎么把浏览器设置成默认浏览器 魅族魅蓝note3怎么把浏览器设置成默认浏览器 魅族魅蓝3怎么把浏览器设置成默认浏览器 魅族MX2默认浏览器设置成UC了怎么改回来 魅族mx2怎样修改默认浏览器? 魅族魅蓝E3怎么更改默认浏览器 魅族mx6怎么把浏览器设置成默认浏览器 魅族微信视频打开时浏览器默认手机自带的了 怎么改成qq浏览器 先谢过了 魅族M8能否把UC浏览器设置默认浏览器? 怎样才能把魅族pro的浏览器默认为google浏览器