Switch语句模拟计算器的运算,请大家看看这个程序哪里出错了,麻烦高人指点,谢谢!!
2条回答 默认 最新
- 树下等苹果 2022-04-23 23:05关注
我觉得应该是输入时错误了,我的编译器这样用scanf输入的话,a、b没有值成功输入,只能输入运算符。建议用以下方式输入,即先输入运算符,再输入操作数,最后在运算时在a或者b乘以1.0,将该计算转换为浮点数类型的计算
#include<stdio.h> void main() { int a, b; float s; char x='0'; x=getchar(); getchar(); //获得输入x之后的换行符\n,以免影响a、b的输入 scanf_s("%d %d", &a,&b); switch(x) { case'+': printf("%f", s = 1.0*a + b); break; case'-': printf("%f", s = 1.0*a - b); break; case'*': printf("%f", s = 1.0*a * b); break; case'/': printf("%f", s = 1.0*a / b); break; case'%': printf("%f", s = 1.0*a + b) ;break; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题