woainilp 发表于 2020-5-4 13:30:38

C语言

输入两个整数m和n,选择运算符op(+,-,*,/),计算并输出表达式“m op n”的值。
例如,输入整数4和5,选择运算符+,输出4+5=9.
用if语句和switch语句分别实现
麻烦帮忙写一下,做了1个多小时了,实在写不出了,拜托了

qiuyouzhi 发表于 2020-5-4 13:39:54

本帖最后由 qiuyouzhi 于 2020-5-4 13:46 编辑

给你一个switch版本的:
# include <stdio.h>

int main()
{
        int m, n;
        float result;
        char op;
        int flag = 1;
        scanf("%d %c %d", &m, &op, &n);
        switch (op)
        {
                case '+': result = m + n;break;
                case '-': result = m - n;break;
                case '*': result = m * n;break;
                case '/':
                        {
                                if (n != 0)
                                        result = m / n;
                                else
                                {
                                        printf("除数不能为0!");
                                        flag = 0;
                                }
                        }
        }
        if (flag)
                printf("%d %c %d = %.2f", m, op, n, result);
        return 0;
}
if语句就是把switch的case转换为if就好了。

KevinHu 发表于 2020-5-4 13:40:55

本帖最后由 KevinHu 于 2020-5-7 12:54 编辑

switch实现:
#include <stdio.h>

int main(void)
{
    int m, n;
    char op;

    scanf("%d%c%d", &m, &op, &n);

    switch (op)
    {
      case '+':
            printf("%d+%d=%d", m, n, m + n);
            break;
      case '-':
            printf("%d-%d=%d", m, n, m - n);
            break;
      case '*':
            printf("%d*%d=%d", m, n, m * n);
            break;
      case '/':
            printf("%d/%d=%.2f", m, n, (float)m / n);
            break;
    }
}

if实现:
#include <stdio.h>

int main(void)
{
    int m, n;
    char op;

    scanf("%d%c%d", &m, &op, &n);

    if (op == '+')
    {
      printf("%d+%d=%d", m, n, m + n);
    }
    else if (op == '-')
    {
      printf("%d-%d=%d", m, n, m - n);
    }
    else if (op == '*')
    {
      printf("%d*%d=%d", m, n, m * n);
    }
    else if (op == '/')
    {
      printf("%d/%d=%.2f", m, n, (float)m / n);
    }
}

woainilp 发表于 2020-5-4 20:43:35

qiuyouzhi 发表于 2020-5-4 13:39
给你一个switch版本的:

if语句就是把switch的case转换为if就好了。

太感谢了

woainilp 发表于 2020-5-4 20:44:09

KevinHu 发表于 2020-5-4 13:40
switch实现:




太感谢了,谢谢

qiuyouzhi 发表于 2020-5-4 20:53:21

woainilp 发表于 2020-5-4 20:43
太感谢了

那就设个最佳答案吧~
页: [1]
查看完整版本: C语言