zoukankan      html  css  js  c++  java
  • Openjudge-NOI题库-简单算术表达式求值

    题目描述 Description

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

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

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

    请输出相应的结果。
    输入输出格式 Input/output
    输入:
    一行算术表达式。
    输出:
    整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。
    输入输出样例 Sample input/output
    样例测试点#1
    输入样例:
    32+64
    输出样例:
    96
    思路:可以先用一个字符串存入这个表达式,分别从前往后,从后往前找数字,从前往后遍历这个数组,在后面一个字符不为空格的情况下,变为数字,从后往前遍历这个数组,在前面一个字符不为空格情况下,变为数字,然后再扫描一遍这个数组看看是什么运算符号,最后判断运算符号输出结果即可。
    代码如下:
     1 #include <stdio.h>
     2 #include <string.h>
     3 int main()
     4 {
     5     int n,i;
     6     char a[200];
     7     int f=0,l=0;
     8     gets(a);
     9     for(i=0;i<strlen(a);i++)//首个两位数 
    10     {
    11         if(a[i]>='0'&&a[i]<='9')//如果是数字 
    12         {
    13             if(a[i+1]>='0'&&a[i+1]<='9')//如果后面那个也是数字 
    14             {
    15                 f=(f+a[i]-48)*10;//变为数字往前进一位 
    16             }
    17             else//否则是空格什么的直接存为数字 
    18             {
    19                 f=f+a[i]-48;
    20                 break;
    21             }
    22         }
    23     } 
    24     for(i=strlen(a);i>0;i--)//第二个两位数 
    25     {
    26         if(a[i]>='0'&&a[i]<='9')//如果是数字
    27         {
    28             if(a[i-1]>='0'&&a[i-1]<='9')//如果前面那个也是数字 
    29             {
    30                 l=l+a[i]-48;
    31             }
    32             else//否则是空格什么的直接存为数字 
    33             {
    34                 l=l+(a[i]-48)*10;//变为数字往前进一位 
    35                 break;
    36             }                                             /*  35+14  */
    37         } 
    38     }
    39     for(i=0;i<strlen(a);i++)
    40     {
    41         if(a[i]=='+') printf("%d
    ",f+l);
    42         else if(a[i]=='-') printf("%d
    ",f-l);
    43         else if(a[i]=='*') printf("%d
    ",f*l);
    44         else if(a[i]=='/') printf("%d
    ",f/l);
    45         else if(a[i]=='%') printf("%d
    ",f%l);
    46     } 
    47     return 0;
    48 }
  • 相关阅读:
    如何查看python的notebook文件.ipynb
    pip3与pyttsx3文字语音转换
    Python字符乱码
    python3的urllib以及urllib2的报错问题
    python人脸对比
    Python 爬取qqmusic音乐url并批量下载
    稳定排序和不稳定排序
    Linux信号、信号处理和信号处理函数
    jQuery ajax表单提交
    Django setting 常用配置
  • 原文地址:https://www.cnblogs.com/geek-007/p/5659620.html
Copyright © 2011-2022 走看看