C语言科学计算器思路,求助!!用c语言编一个科学计算器.. 要求有点复杂

求助!!用c语言编一个科学计算器.. 要求有点复杂

答案:1  信息版本:手机版

解决时间 2019-10-06 12:43

已解决

2019-10-06 07:45

表达式计算器,允许用户输入计算表达式,计算出相应结果。

【表达式定义】表达式采用符号请严格按照以下规定处理。

1. 数值:包括int,long,float,double和biginteger(需自己实现大数的基本运算)。

2. 括号,只支持()。

3. 运算符号包括加+、减-、乘*、除/、平方^、阶乘!

4. 支持的数学函数:(函数不考虑大数计算)

cos(), sin(), tg(), ctg(),abs(), sign(), sqrt(), ln(), sinh()(双曲正弦函数), cosh()(双曲余弦函数), tanh()(双曲正切函数), coth()(双曲余切函数)

(注意:当使用三角函数时,需要提示用户当前的输入的角度是弧度还是角度,默认为弧度,允许用户进行设置,将弧度变为角度)

5. 特殊的常数PI为3.1415926,E为2.71828

6. 表达式可以是常数,加+、减-、乘*、除/、平方^、括号(),以及数学函数的组合

【计算器功能】

1、 用户输入表达式,回车,计算器计算出相应结果,允许用户设置结果精度。

2、 程序可提示用户保存表达式的计算结果,通过选择菜单的相应选项,也可以将保存结果显示给用户。(需进行文件读写)

【计算结果输出】

如果计算结果为整数,则直接输出整数。若计算结果为小数则根据用户设置精度进行输出。(默认保留小数点后三位)

示例:

用户输入

1+sin(30)

程序输出结果

0.012

又如,

用户输入

23+56/(102-100)*((36-24)/(8-6))

程序输出结果:

191

全部回答

1楼

2019-10-06 09:22

#include

float a,b;

char c;

void js()

{switch(c)

{case '+':

{a+=b;printf("=%f\n",a);}  break;

case '-':

{a-=b;printf("=%f\n",a);}  break;

case '*':

{a*=b;printf("=%f\n",a);}  break;

case '/':

{if (b==0) printf("error,\n");

else

a/=b;printf("=%f\n",a);}   break;

default:printf("\n");}

}

main()

{char d;

printf("请输入算术表达式,以回车结尾:\n");

scanf("%f%c%f%c",&a,&c,&b,&d);

while(d!='=')

{js();

scanf("%c%f",&c,&b);}}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值