大一C语言问题,从键盘输入2个操作数和运算符,用switch语句实现两个数的加、减、乘、除运算。

样例输入
21.7*7
样例输出
151.900000
怎样修改才能做到???
#include<stdio.h>
int main()
{
double a,b,c;
char d;
scanf("%fl%fl",&a,&b);
getchar();
scanf("%c",&d);
switch(d)
{
case'+': c=a+b;break;
case'-': c=a-b;break;
case'*': c=a*b;break;
case'/':
if(b>0)
c=a/b;break;
}
printf("%f",c);
return 0;
}

#include<stdio.h>
int main()
{
    double a,b,c;
    char d;
    scanf("%lf%c%lf",&a,&d, &b); //输入格式为符号在中间,double是%lf ,你写反了
    switch(d)
    {
        case'+': c=a+b;break;
        case'-': c=a-b;break;
        case'*': c=a*b;break;
        case'/':
            if(b!=0)
                c=a/b;
else //否则给c赋值0
c=0; 
break;
    }
    printf("%lf\n",c); //double是%lf
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-05
#include<stdio.h>
int main()
{
 double a, b, c;
 char d;
 scanf("%lf %c %lf", &a, &d, &b);
 switch (d)
 {
 case'+': c = a + b; break;
 case'-': c = a - b; break;
 case'*': c = a*b; break;
 case'/':
  if (b > 0)
   c = a / b; break;
 }
 printf("%f", c);
 return 0;
}