首先键盘输入要运算的数据,第二步选择运算符,实现简单的加减乘除和乘方,开方,绝对值
你题目的解答代码如下:
#include <stdio.h>
int main(int argc, char** argv)
{
float a,b;
char op;
END:printf("请输入算式:");
scanf("%f%c%f",&a,&op,&b);
switch(op)
{
case '+':
printf("%g+%g=%g\n",a,b,a+b);break;
case '-':
printf("%g-%g=%g\n",a,b,a-b);break;
case '*':
printf("%g*%g=%g\n",a,b,a*b);break;
case '/':
if (0==b)
printf("除数不能为零!\n");
else
printf("%g/%g=%g\n",a,b,a/b);
break;
default:
printf("运算符错误!\n");
}
char ch;
printf("是否继续运算(Y/N or y/n):");
scanf("%1s",&ch); //%c改成%1s
if(ch=='Y'||ch=='y')
goto END;
else
printf("over!");
return 0;
}
添加了乘方,开方,绝对值功能
#include <stdio.h>
#include <math.h>
int main(int argc, char** argv)
{
float a,b;
char op;
printf("请选择运算符加+ 减- * 除/ 乘方^ 开方@ 绝对值#");
scanf("%c",&op);
if (op=='@' || op=='#')
{
printf("请输入一个数值:");
scanf("%f",&a);
}
else
{
printf("请输入两个数值:");
scanf("%f%f",&a,&b);
}
switch(op)
{
case '+':
printf("%g+%g=%g\n",a,b,a+b);break;
case '-':
printf("%g-%g=%g\n",a,b,a-b);break;
case '*':
printf("%g*%g=%g\n",a,b,a*b);break;
case '/':
if (0==b)
printf("除数不能为零!\n");
else
printf("%g/%g=%g\n",a,b,a/b);
break;
case '^':
printf("%g^%g=%g\n",a,b,powf(a,b));break;
case '@':
printf("%g开方=%g\n",a,sqrtf(a));break;
case '#':
printf("|%g|=%d\n",a,abs(a));break;
default:
printf("运算符错误!\n");
}
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!