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

NOI / 1.12编程基础之函数与过程抽象 01:简单算术表达式求值

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

NOI / 1.12编程基础之函数与过程抽象 01:简单算术表达式求值

网上没找见c的,自己写了一个,不止适用2位数

描述

两位正整数的简单算术运算(只考虑整数运算),算术运算为:

+,加法运算;
-,减法运算;
*,乘法运算;
/,整除运算;
%,取余运算。

算术表达式的格式为(运算符前后可能有空格):
运算数 运算符 运算数

请输出相应的结果。

输入

一行算术表达式。

输出

整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。

样例输入

32+64

样例输出

96
#include
#include
#include
char x[10000];
int main()
{
	int a, b=0,i=0,count=0;
	char c;
	scanf("%d", &a);//第一个数可以直接输入
	gets(x);//第一个数之后就可能有空格,当作字符输入
	
	for (;; i++)
		if (*(x + i) != ' ') { c = *(x + i);  break; }//找运算符,找到后赋值给c
	
	i = strlen(x)-1;//从字符串后面开始算第二个数
	while(*(x+i)!=' '&&x[i]<='9'&&x[i]>='0')//后两个条件主要是防止“a   +b”这样的
	{
		b = b + (*(x + i) - '0') * pow(10, count); i--; count++; //把b算出来
	}

//输出
	if (c == '+')printf("%d", a + b);
	else if (c == '-')printf("%d", a - b);
	else if (c == '*')printf("%d", a * b);
	else if (c == '/')printf("%d", a / b);
	else if (c == '%')printf("%d", a % b);
	return 0;
}

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

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

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