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;
}
相关推荐
geats人山人海20 分钟前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法
爱吃牛肉的大老虎37 分钟前
Rust对象之结构体,枚举,特性
开发语言·后端·rust
bbq粉刷匠1 小时前
HashMap 底层原理深度拆解(二):putVal 完整链路解析(懒加载 · 链表遍历 · 尾插法)
java·开发语言·哈希算法
漂流瓶jz1 小时前
UVA-12627 奇怪的气球膨胀 题解答案代码 算法竞赛入门经典第二版
算法·图论·递归·aoapc·算法竞赛入门经典·uva·12627
影视飓风TIM1 小时前
Linux下C语言缓冲区原理 + Git版本控制
linux·c语言·git
jarvisuni1 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
@三十一Y1 小时前
C++:红黑树的实现
开发语言·c++
kobesdu1 小时前
流形上的优化:SO(3)与SE(3)的广义加减法在FAST-LIO中如何简化状态估计
人工智能·算法·fastlio
白狐_7982 小时前
408 数据结构算法题 01:线性表暴力求解保分指南
java·数据结构·算法
乐观勇敢坚强的老彭2 小时前
C++信奥:开关门、开关灯问题
开发语言·c++·算法