作业帮 > 综合 > 作业

c语言加减乘除设计;大神改下要求写一个简单的计算器,输入一个数学表达式 程序输出结果.

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/03/29 00:32:34
c语言加减乘除设计;大神改下要求写一个简单的计算器,输入一个数学表达式 程序输出结果.
#include
#include
int main()
{
char c[100];
int i,j;
printf("请输入计算式:\n");
for(i=0;c[i]='\n';i++)
scanf("%c",&c[i]);
for(i=0;c[i]!='\0';i++)
{
if(c[i]=='*'||c[i]=='/')
{
if(c[i]=='*')
{
c[i]=c[i-1]*c[i+1];
for(j=i-1;c[j]!='\0';j++)
strcpy(c+j-1,c+j);
for(j=i;c[j]!='\0';j++)
strcpy(c+j,c+j+1);
}
if(c[i]=='/')
{
c[i]=c[i-1]/c[i+1];
for(j=i-1;c[j]!='\0';j++)
strcpy(c+j-1,c+j);
for(j=i;c[j]!='\0';j++)
strcpy(c+j,c+j+1);
}
i=0;
}
if(c[i]=='+'||c[i]=='-')
{
if(c[i]=='+')
{
c[i]=c[i-1]+c[i+1];
for(j=i-1;c[j]!='\0';j++)
strcpy(c+j-1,c+j);
for(j=i;c[j]!='\0';j++)
strcpy(c+j,c+j+1);
}
if(c[i]=='-')
{
c[i]=c[i-1]-c[i+1];
for(j=i-1;c[j]!='\0';j++)
strcpy(c+j-1,c+j);
for(j=i;c[j]!='\0';j++)
strcpy(c+j,c+j+1);
}
i=0;
}
}
printf("%d%d",c[0],c[1]);
}
c语言加减乘除设计;大神改下要求写一个简单的计算器,输入一个数学表达式 程序输出结果.
我个人觉得你的想法是不是错了呢,你用char型来输入但是数字是要存储于int型的数组里的吧,这个时候我建议你用一个char型数组和一个int型数组来分别存储符号和运算数,建议你用栈的数据类型.