ietar 发表于 2019-6-27 16:33:48

scanf/getchar问题

本帖最后由 ietar 于 2019-6-27 16:54 编辑

如何实现 输入是'1 + 2'(带空格)或'1+2'(不带空格) 都能正确输出


答案只实现了针对带空格的情况...
https://fishc.com.cn/forum.php?mod=viewthread&tid=68327
作业的答案
#include <stdio.h>

int main()
{
      int op1, op2;
      char ch;
      float result;

      printf("请输入式子:");
      scanf("%d %c %d", &op1, &ch, &op2);

      switch (ch)
      {
                case '-': op2 = -op2; // no break
                case '+': result = (float)op1 + op2; break;
                case '*': result = (float)op1 * op2; break;
                case '/':
                        if (op2 != 0)
                        {
                              result = (float)op1 / op2;
                              break;
                        }
                        else
                        {
                              printf("除数不能为零!\n");
                              break;
                        }
      }
      printf("结果是:%.2f\n", result);

      return 0;
}

newu 发表于 2019-6-27 16:33:49

ietar 发表于 2019-6-27 16:46
更新惹!

没思路了...,输入格式是固定好的,难道写个判断先吗?{:10_266:}

newu 发表于 2019-6-27 16:36:32

答案发出来看看{:10_266:}

ietar 发表于 2019-6-27 16:46:15

newu 发表于 2019-6-27 16:36
答案发出来看看

更新惹!

ietar 发表于 2019-6-27 16:57:38

问题解决了zzzz

newu 发表于 2019-6-27 17:11:05

ietar 发表于 2019-6-27 16:57
问题解决了zzzz

怎么搞的,是我想的太复杂了吗
页: [1]
查看完整版本: scanf/getchar问题