蓝桥杯——前缀表达式

来源:互联网 发布:录屏软件fast 编辑:程序博客网 时间:2024/04/20 14:18

问题描述
  编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。
  输入格式:输入只有一行,即一个前缀表达式字符串。
  输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。
  输入输出样例
样例输入
+ 5 2
样例输出
7

原来以为数据规模比较大,考虑用大数,后来看了同学的,才发现是我自己想复杂了。但是我还是觉得用大数更为严谨,题目中讲不超过10位的整数,9999999999*9999999999运算结果会有溢出。

#include<stdio.h>int main(){    char c;    __int64 num1,num2;    scanf("%c%I64d%I64d",&c,&num1,&num2);    if(c=='+')    {        printf("%I64d\n",num1+num2);    }    else if(c=='-')    {        printf("%I64d\n",num1-num2);    }    else if(c=='*')    {        printf("%I64d\n",num1*num2);    }    else if(c=='/')    {        printf("%I64d\n",num1/num2);    }    return 0;}
0 0