问题遇到的现象和发生背景
从键盘输入数学算式,计算其结果。运算数可以是整数,也可以是浮点数,假定输入的数据中不存在非法字符,但运算数前后可能会存在一个或多个空白宁符(空格、回车或 Tab)。要求实现加、减、乘、除、求余运算,可不考虑运算符的优先级别。
用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
int main()
{
char b;
double c,sum;
while(1){
scanf ("%lf",&sum);
while (1){
scanf ("%c",&b);
if (b=='=') break;
scanf ("%lf",&c);
if (b=='-') sum = sum-c;
if (b=='+') sum = sum+c;
if (b=='') sum = sumc;
if (b=='/') sum = sum/c;
if (b=='%') {while (sum>=0){sum = sum-c;} sum=sum+c;};
};
printf("%lf",sum);
}
return 0;
}
运行结果及报错内容
我写的这个程序因为scanf其中有空格的话字符就不是单纯的+-*、%了,但要求运算数前后可能会存在一个或多个空白宁符(空格、回车或 Tab)。
我的解答思路和尝试过的方法
我尝试过用删除字符串里面空格的函数,但是不会整不好用,能帮忙看看吗?
我想要达到的结果
运算数前后可能会存在一个或多个空白宁符(空格、回车或 Tab),要求实现加、减、乘、除、求余运算,