简易计算器,但运算数前后可能会存在一个或多个空白宁符(空格、回车或 Tab)

问题遇到的现象和发生背景

从键盘输入数学算式,计算其结果。运算数可以是整数,也可以是浮点数,假定输入的数据中不存在非法字符,但运算数前后可能会存在一个或多个空白宁符(空格、回车或 Tab)。要求实现加、减、乘、除、求余运算,可不考虑运算符的优先级别。

用代码块功能插入代码,请勿粘贴截图

#include
#include

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),要求实现加、减、乘、除、求余运算,

用scanf输入后,可以试着判断一下每个字符的ascll码值是否合法。如果合法,存入运算表达式中,不合法进行下一个字符的判断。直到这个字符串判断完