如何从标准输入(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
相关产品推荐
相关产品推荐

