
题目18:用C语言设计一个简单的计算器,
要求能够对输入的数1.进行+,-,*,/,运算;2.可以带括号();3.不限定运算式的输入长度.(参考编译技术中语法分析原理)还要详细介绍和解释...
要求能够对输入的数 1.进行+,-,*,/,运算;2.可以带括号( );3.不限定运算式的输入长度.(参考编译技术中语法分析原理) 还要详细介绍和解释
展开
展开全部
#include <stdio.h>
void main( )
{
double a,b;
char op,c;
leep :printf("input 操作数a 运算符(op) 操作数b:");
scanf("%lf%c%lf",&a,&op,&b);
switch (op)
{
case '+':printf("%.2lf+%.2lf=%.2lf\n",a,b,a+b);break;
case '-':printf("%.2lf-%.2lf=%.2lf\n",a,b,a-b);break;
case '*':printf("%.2lf*%.2lf=%.2lf\n",a,b,a*b);break;
case '/':
if (b != 0)
{printf("%.2lf/%.2lf=%.2lf\n",a,b,a/b);}
else
{printf("除数不能是0! \n");}break;
default :printf("输入的运算符不合法!\n");
}
printf("Do you want to continue(Y/N or y/n)?");
c=getche();
printf("\n");
if (c=='Y'||c=='y')
goto leep;
else
{printf("\t谢谢使用!\n");}
}
void main( )
{
double a,b;
char op,c;
leep :printf("input 操作数a 运算符(op) 操作数b:");
scanf("%lf%c%lf",&a,&op,&b);
switch (op)
{
case '+':printf("%.2lf+%.2lf=%.2lf\n",a,b,a+b);break;
case '-':printf("%.2lf-%.2lf=%.2lf\n",a,b,a-b);break;
case '*':printf("%.2lf*%.2lf=%.2lf\n",a,b,a*b);break;
case '/':
if (b != 0)
{printf("%.2lf/%.2lf=%.2lf\n",a,b,a/b);}
else
{printf("除数不能是0! \n");}break;
default :printf("输入的运算符不合法!\n");
}
printf("Do you want to continue(Y/N or y/n)?");
c=getche();
printf("\n");
if (c=='Y'||c=='y')
goto leep;
else
{printf("\t谢谢使用!\n");}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询