You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从标准输入(stdin)读取单个字符并根据运算符执行加减运算

核心实现思路

+、-属于普通可打印字符,绝大多数编程语言都支持直接用内置的字符/字符串类型存储,不需要自定义特殊类型存储这类运算符。


不同语言实现示例

Python 实现

  • 直接用str类型存储运算符即可,示例代码:
# 接收输入
num_a = int(input("输入数字A:"))
operator = input("输入运算符(+/-):").strip()
num_b = int(input("输入数字B:"))

# 计算逻辑
if operator == '+':
    print(num_a + num_b)
elif operator == '-':
    print(num_a - num_b)
else:
    print("仅支持+、-两种运算符")

C/C++ 实现

  • 用char类型存储运算符即可,示例代码:
#include <stdio.h>
int main() {
    int num_a, num_b;
    char op;
    printf("请按照「A 运算符 B」格式输入,例如 1 + 2:\n");
    scanf("%d %c %d", &num_a, &op, &num_b);
    if (op == '+') {
        printf("%d\n", num_a + num_b);
    } else if (op == '-') {
        printf("%d\n", num_a - num_b);
    } else {
        printf("不支持的运算符\n");
    }
    return 0;
}

Java 实现

  • 用char类型存储运算符即可,示例代码:
import java.util.Scanner;
public class SimpleCalc {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num_a = sc.nextInt();
        char op = sc.next().charAt(0);
        int num_b = sc.nextInt();
        if (op == '+') {
            System.out.println(num_a + num_b);
        } else if (op == '-') {
            System.out.println(num_a - num_b);
        } else {
            System.out.println("仅支持+、-两种运算符");
        }
    }
}

注意事项
  • 如果后续需要扩展支持*、/等更多运算符,也可以用同样的方式存储,不需要修改存储变量的类型
  • 接收运算符输入时建议增加去空格、长度校验逻辑,避免用户输入多余字符导致匹配失败

内容的提问来源于stack exchange,提问作者HaibaoM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:06:06