永发信息网

用C语言switch语句做一年级算术题。

答案:2  悬赏:40  手机版
解决时间 2021-03-31 22:39
  • 提问者网友:戎马万世
  • 2021-03-31 02:45
用C语言switch语句做一年级算术题。
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-03-31 04:02
#include       // fgets, printf
   #include       // isdigit, isblank
   #include      // atoi
   
   int main( )
   {
           int a, b, c, op;
           char buf[256] = {0};
           int i;
   
           // handle input
           fgets(buf, 255, stdin);
           a = atoi(buf);
           i = 0;
           if (buf[i] == '-')
                   i++;
           while (buf[i] && isdigit(buf[i]))
                   i++;
           while (buf[i]) {
                   if (buf[i] == '+' || 
                                   buf[i] == '-' ||
                                   buf[i] == '*' ||
                                   buf[i] == '/' ||
                                   buf[i] == '%') {
                           op = buf[i++];
                           break;
                   }
                   i++;
           }
           while (buf[i] && isblank(buf[i]))
                   i++;
           b = atoi(&buf[i]);
           
           // calculate
           switch(op) {
                   case '+':
                           c = a+b;
                           break;
                   case '-':
                           c = a-b;
                           break;
                   case '*':
                           c = a*b;
                           break;
                   case '/':
                           c = a/b;
                           break;
                   case '%':
                           c = a%b;
                           break;
                   default:
                           c = 0;
                           break;
           }
   
           printf("%d
", c);
   }追问运行输出为什是0追答我运行没问题呀,你自己看看吧

另外,1-1的话就是0呀:)追问是我弄错了
全部回答
  • 1楼网友:西风乍起
  • 2021-03-31 05:19
会if语句吗?换成case就可以了追问不会
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯