蓝桥杯 ALGO-92 算法训练 前缀表达式

算法训练 前缀表达式  

时间限制:1.0s   内存限制:512.0MB

 

问题描述

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

 

样例输入

+ 5 2

 

样例输出

7

 

#include <stdio.h>
#include <stdlib.h>

int add(int a, int b)
{
    return a + b;
}

int sub(int a, int b)
{
    return a - b;
}

int mul(int a, int b)
{
    return a * b;
}

int divide(int a, int b)
{
    return a / b;
}

int main()
{
    char op, str_num1[3] = { 0 }, str_num2[3] = { 0 };
    int num1, num2, ans;

    scanf("%c %s %s", &op, str_num1, str_num2);
    num1 = atoi(str_num1);
    num2 = atoi(str_num2);

    switch (op)
    {
        case '+': ans = add(num1, num2);
            break;
        case '-': ans = sub(num1, num2);
            break;
        case '*': ans = mul(num1, num2);
            break;
        case '/': ans = divide(num1, num2);
            break;
        default: ans = 0;
            break;
    }
    printf("%d", ans);

    return 0;
}

 

发布了183 篇原创文章 · 获赞 40 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/liulizhi1996/article/details/103947003