栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言程序设计:模拟简单运算器的工作

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言程序设计:模拟简单运算器的工作

文章目录
    • @[toc]
  • C语言程序设计:模拟简单运算器的工作
    • 1.题目
    • 2.分析
    • 3.代码实现
    • 4.结尾
C语言程序设计:模拟简单运算器的工作
1.题目

​ 模拟简单运算器的工作,输入一个算式(没有空格),遇等号"="说明输入 结束,输出结果。假设计算器只能进行加、减、乘、除运算,运算数和结果都是整数,4 种运算符的优先级相同,按从左到右的顺序计算。例如,输入 1+2*10-10/2=后,输出10。试编写相应程序。其中的运算部分要求定义函数实现。


2.分析

1).首先他要求我们是输入一个算式,格式为:【1+2/3*4-5=】 ,输入输出结果都为整数

2).计算结果为 -1 ,忽略运算符的优先级,从左往右进行计算

3).算式中含有【=】才说明输入结束,否则可以一直输入


3.代码实现
void calculate()
{
	while (1) {
		char ch;
		int a, sum;
		a = sum = 0;
		int b = 1;
		scanf_s("%d", &a);
		sum = a;
		while (1) {
			ch = getchar();
			if (ch == '=') {
				printf("result = %dn", sum);
				b = 0;
				break;
			}
			scanf_s("%d", &a);
			switch (ch) {
			case '+':sum += a; break;
			case '-':sum -= a; break;
			case '*':sum *= a; break;
			case '/':
				if (a == 0) {
					printf("errorn");
					b == 0;
				}
				else sum /= a;
				; break;
			default:
				b = 0;
				printf("may be you should input =n"); break;
			}
			if (b == 0) break;
		}
	}
	return 0;
}

int main()
{
	calculate();
	return 0;
}

4.结尾

此代码有BUG,输入错误之后得第一次运行结果是会出错的,第一次接触C语言,不知道如何写,欢迎大佬指正。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号