点击链接加入我们的工作室吧:http://www.kidscode.cn/user/join_team/tid/1030.html
我是质子,嘿嘿,这个文章是在信息课发的,(*^▽^*)。
这是我编写的c++代码:
#include//v.0.0.01(数学计算器)
using namespace std;
char s[10000],fuhao[99999];
double shuju[99999];
int main()
{
while(1==1)
{
printf("作者:质子(目前版本不支持括号和负数___v.0.0.02)\n");
scanf("%s",s+1);
int lou=strlen(s+1),shu=0,shu1=0,ij=0;
bool suo=1,zf=1;
if(s[lou]!='=')
{
s[lou+1]='=';
lou++;
}
for(int i=1;i<=lou;i++)
{
if(s[i]>='0'&&s[i]<='9')
{
shu1=shu1*10+(s[i]-'0');
zf=1;
}
else
{
if(zf==0)
{
ij++;
shuju[ij]=0;
shu1=0;
fuhao[ij]=s[i];
zf=0;
}else
{
if(s[i]!='=')
{
ij++;
shuju[ij]=shu1;
shu1=0;
fuhao[ij]=s[i];
zf=0;
}
else
{
ij++;
shuju[ij]=shu1;
shu1=0;
}
}
}
}
while(ij>1)
{
if(fuhao[1]=='*')
{
int jl=0;
for(int i=1;i<=strlen(fuhao);i++)
{
if(i!=1)
{
jl++;
fuhao[jl]==fuhao[i];
}
}
jl=0;
for(int i=1;i<=ij;i++)
{
if(i!=1&&i!=2)
{
jl++;
shuju[jl]=shuju[i];
}
if(i==1)
{
jl++;
shuju[jl]=shuju[1]*shuju[2];
}
}
ij--;
}else
{
if(fuhao[1]=='/')
{
int jl=0;
for(int i=1;i<=strlen(fuhao);i++)
{
if(i!=1)
{
jl++;
fuhao[jl]==fuhao[i];
}
}
jl=0;
for(int i=1;i<=ij;i++)
{
if(i!=1&&i!=2)
{
jl++;
shuju[jl]=shuju[i];
}
if(i==1)
{
jl++;
shuju[jl]=shuju[1]/shuju[2];
}
}
ij--;
}else
{
if(fuhao[1]=='+')
{
int jl=0;
for(int i=1;i<=strlen(fuhao);i++)
{
if(i!=1)
{
jl++;
fuhao[jl]==fuhao[i];
}
}
jl=0;
for(int i=1;i<=ij;i++)
{
if(i!=1&&i!=2)
{
jl++;
shuju[jl]=shuju[i];
}
if(i==1)
{
jl++;
shuju[jl]=shuju[1]+shuju[2];
}
}
ij--;
}else
{
int jl=0;
for(int i=1;i<=strlen(fuhao);i++)
{
if(i!=1)
{
jl++;
fuhao[jl]==fuhao[i];
}
}
jl=0;
for(int i=1;i<=ij;i++)
{
if(i!=1&&i!=2)
{
jl++;
shuju[jl]=shuju[i];
}
if(i==1)
{
jl++;
shuju[jl]=shuju[1]-shuju[2];
}
}
ij--;
}
}
}
}
cout< }
return 0;
}
优先算法的代码还在制作中……
本站作者已申明原创,禁止转载!
文章内容属作者个人观点,不代表本站立场,如有侵权立删。