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;
}
相关推荐
Jackey_Song_Odd1 分钟前
Part 1:Python语言核心 - 序列与容器
开发语言·windows·python
Elnaij11 分钟前
从C++开始的编程生活(20)——AVL树
开发语言·c++
似水明俊德14 分钟前
12-C#
开发语言·数据库·oracle·c#
hanbr15 分钟前
【C++ STL核心】vector:最常用的动态数组容器(第九天核心)
开发语言·c++
仰泳的熊猫36 分钟前
题目2308:蓝桥杯2019年第十届省赛真题-旋转
数据结构·c++·算法·蓝桥杯
hssfscv1 小时前
力扣练习训练2(java)——二叉树的中序遍历、对称二叉树、二叉树的最大深度、买卖股票的最佳时机
java·数据结构·算法
菜鸟‍1 小时前
【后端项目】苍穹外卖day01-开发环境搭建
java·开发语言·spring boot
青槿吖1 小时前
【保姆级教程】Spring事务控制通关指南:XML+注解双版本,避坑指南全奉上
xml·java·开发语言·数据库·sql·spring·mybatis
Yungoal2 小时前
B/S和C/S架构在服务端接收请求
c语言·开发语言·架构
y = xⁿ2 小时前
【LeetCodehot100】二叉树大合集 T94:二叉树的中序遍历 T104:二叉树的最大深度 T226:翻转二叉树 T101:对称二叉树
后端·算法·深度优先