用yacc编写的算术运算计算器_Android版科学计算器 Casio business 下载

本文推荐了一款Android应用,它将手机变为功能强大的科学计算器,高度仿照Casio实体计算器,支持微积分、矩阵计算和方程求解等功能。用户可以便捷地在手机上进行各种高级计算操作,包括横竖屏切换和丰富的数学运算。适用于安卓系统的用户。
摘要由CSDN通过智能技术生成

这次给大家推荐一款APP,能让你的手机变成一个强大的科学计算器,高度还原了Casio实体计算器的功能和算法,并且操作更加方便。不但支持普通的科学计算器的功能,而且支持微积分计算、矩阵计算、解方程等。

只需在手机上直接下载本APP,就能轻松使用了。【仅支持安卓系统】

软件截图

4804ea854207d4a7280e451e12099d43.png

滑动键盘或点击三点按钮可以切换第二页键盘,APP支持横竖屏运行

e6c6dd83d6e2646b101827deb827d886.png

特色功能

方程求解

20对公制转换值

用复数计算

Calc键(临时公式记忆)

40个物理常数

矩阵/矢量计算

数值积分和微分(微分)微积分

随机整数

新方程模式

功能表

求解方程组(二,三,四未知变量)

基本算术运算,幂,根,对数计算器,三角函数和双曲函数

支持矩形和极坐标之间的转换(POL和REC功能)

定期数字和转换为分数

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用lex和yacc制作一个算术计算器的步骤: 1. 定义词法分析器 使用lex工具定义词法分析器,即将输入的字符串分解为一个个符号(token),并将其传递给语法分析器(yacc)。在这个例子中,我们需要定义数字、加号、减号、乘号、除号以及左右括号等符号。 下面是一个简单的词法分析器的例子: ``` %{ #include "y.tab.h" %} %% [0-9]+ { yylval = atoi(yytext); return NUMBER; } "+" { return PLUS; } "-" { return MINUS; } "*" { return TIMES; } "/" { return DIVIDE; } "(" { return LPAREN; } ")" { return RPAREN; } [ \t] { /* ignore whitespace */ } \n { /* end of line */ } . { printf("invalid input\n"); } %% int yywrap() { return 1; } ``` 2. 定义语法分析器 使用yacc工具定义语法分析器,即定义输入符号串的语法规则,并生成可执行的语法分析器。在这个例子中,我们需要定义算术表达式的语法规则,例如加法、减法、乘法、除法以及括号等。 下面是一个简单的语法分析器的例子: ``` %{ #include <stdio.h> #include <stdlib.h> %} %token NUMBER PLUS MINUS TIMES DIVIDE LPAREN RPAREN %% input: /* empty */ | input line line: exp '\n' { printf("= %d\n", $1); } exp: exp PLUS exp { $$ = $1 + $3; } | exp MINUS exp { $$ = $1 - $3; } | exp TIMES exp { $$ = $1 * $3; } | exp DIVIDE exp { $$ = $1 / $3; } | LPAREN exp RPAREN { $$ = $2; } | NUMBER { $$ = $1; } ; %% int main() { yyparse(); return 0; } int yyerror(char *s) { fprintf(stderr, "error: %s\n", s); return 0; } ``` 3. 编译和运行 使用以下命令编译并运行程序: ``` $ lex calc.l $ yacc -d calc.y $ gcc lex.yy.c y.tab.c -o calc $ ./calc ``` 之后就可以输入算术表达式并得到计算结果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值