C语言题目:模拟计算器

题目描述

使用Switch语句编写一个模拟简单计算器的程序。依次输入两个整数和一个字符,并用空格隔开。如果该字 符是一个"+",则打印和;如果该字符是一个"-",则打印差;如果该字符是一个"*",则打印积;如果该字符是"/",则打印商;如果该字符是一个 "%",则打印余数。打印结果后输出一个空行。

输入格式

一行,前面两个数,再一个运算符号。

输出格式

运算表达式的结果。

样例输入

复制代码
3 4 +

样例输出

复制代码
7

代码流程及分析

1. 引入头文件

代码首先引入了stdio.h头文件,这是C语言标准输入输出库,用于处理输入输出函数,如scanfprintf

2. 主函数定义

main函数是程序的入口点,它没有接收任何参数,也没有返回值。

3. 定义变量

main函数内部,定义了以下变量:

  • int num1, num2;:两个整数变量,用于存储用户输入的两个操作数。
  • char operator;:一个字符变量,用于存储用户输入的运算符。
  • int sum;:一个整数变量,用于存储运算结果。

4. 读取输入

使用scanf函数按照格式"%d %d %c"读取用户输入的两个整数和一个字符。这里%d用于读取整数,%c用于读取字符。

5. 运算符判断

使用switch语句根据用户输入的运算符operator来决定执行哪种运算:

  • case '+': 如果运算符是'+',则执行加法,将结果存储在sum中。
  • case '-': 如果运算符是'-',则执行减法。
  • case '/': 如果运算符是'/',则执行整数除法。
  • case '*': 如果运算符是'*',则执行乘法。
  • case '%': 如果运算符是'%',则执行取模运算。

6. 输出结果

使用printf函数输出运算结果sum,格式化字符串"%d\n"表示输出的是一个整数,后跟一个换行符。

7. 程序结束

main函数返回0,表示程序正常结束。

源代码

复制代码
#include <stdio.h>
int main(void)
{
	int num1, num2;
	char operator;
	int sum;
	scanf("%d %d %c", &num1, &num2, &operator);
	switch (operator)
	{
	case '+':
		sum = num1 + num2;
		break;
	case '-':
		sum = num1 - num2;
		break;
	case '/':
		sum = num1 / num2;
		break;
	case '*':
		sum = num1 * num2;
		break;
	case '%':
		sum = num1 % num2;
		break;
	}
	printf("%d\n", sum);
	return 0;
}
相关推荐
JieE21216 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2122 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack202 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树2 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
JieE2123 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE2123 天前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
vivo互联网技术3 天前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦3 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
用户497863050733 天前
(一)小红的数组操作
算法·编程语言