愿你 发表于 2018-3-12 09:46:00

求助啊啊啊这样为什么不能执行


# include <stdio.h>
int main()
{
        float a,b,result;
        char sign;
        printf("请输入式子:");
        scanf("%lf%c%lf",&a,&sign,&b);
        switch(sign)
        {
        case'-':b=-b;
        case'+':result=a+b;break;
        case'*':result=a*b;break;
        case'/':
                {
                        if(b!=0)
                                result=a/b;
                        else
                        printf("很遗憾,除数不能为零!");
                }
        }
        printf("\n结果是:%.2lf\n",result);
        return 0;
}

alltolove 发表于 2018-3-12 09:50:01

我记得case'-'这个之间好像要有个空格吧

愿你 发表于 2018-3-12 09:56:14

可是还是不行啊

549444387@qq.co 发表于 2018-3-12 10:02:59

你的a和b是float类型的 输入的时候应该是对应%f,改一下就好了。
# include <stdio.h>
int main(void)
{
      float a,b,result;
      char sign;
      printf("请输入式子:");
      scanf("%f%c%f",&a,&sign,&b);
      switch(sign)
      {
      case'-':result=a-b;break;
      case'+':result=a+b;break;
      case'*':result=a*b;break;
      case'/':
                {
                        if(b!=0)
                              result=a/b;
                        else
                        printf("很遗憾,除数不能为零!");
                }
      }
      printf("\n结果是:%.2f\n",result);
      return 0;
}

愿你 发表于 2018-3-12 10:27:18

运行成功了!!!!!!!!谢谢你啦{:5_109:}

风过无痕丶 发表于 2018-3-12 10:27:47

#pragma warning(disable : 4996)
# include <stdio.h>

int main()
{
        double a, b, result;
        char sign;
        printf("请输入式子:");
        scanf("%lf%c%lf", &a, &sign, &b);
        switch (sign)
        {
        case '-' : result = a - b; break;
        case '+' : result = a + b; break;
        case '*' : result = a * b; break;
        case '/' :
        {
                if (b != 0L)
                        result = a / b;
                else
                        printf("很遗憾,除数不能为零!");
        } break;
        }
        printf("\n结果是:%.2lf\n", result);

        return 0;
}

愿你 发表于 2018-3-12 10:42:12

第一行代码什么意思?{:5_99:}
页: [1]
查看完整版本: 求助啊啊啊这样为什么不能执行