• 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。


    题目描述(50分): 
    通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
    输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。
     
    补充说明:
    1. 操作数为正整数,不需要考虑计算结果溢出的情况。
    2. 若输入算式格式错误,输出结果为“0”。
     
    要求实现函数: 
    void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);
     
    【输入】 pInputStr:  输入字符串
             lInputLen:  输入字符串长度         
    【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
     
    【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
     
    示例 
    输入:“4 + 7”  输出:“11”
    输入:“4 - 7”  输出:“-3”
    输入:“9 ++ 7”  输出:“0” 注:格式错误
     
     
    我的程序:
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	string s;
    	string s1,s2,oper;
    	getline(cin,s);
    
    	int a=s.find(" ");
    	s1=s.substr(0,a);
    	s.erase(0,a+1);
    
        int b=s.find(" ");
    	oper=s.substr(0,b);
    
    	s.erase(0,b+1);
    	s2=s;
    	int c=atoi(s1.c_str());
    	int d=atoi(s2.c_str());
    	if(oper=="+")
    		cout<<c+d<<endl;
    	else if(oper=="-")
    		cout<<c-d<<endl;
    	else
    		cout<<0<<endl;
    
    	return 0;
    }
    

      

    注意 VC6.0中getline()函数需要输入两次回车才能输入,可能是VC6.0的bug,在VS2010中输入一次回车就可以

  • 相关阅读:
    ES6中的解构赋值
    一·京京得水
    localStorage,sessionStorage和cookie的区别
    mondodb和mysql的区别
    Win10 x64连接Oracle
    JFinal项目实践(了如股掌)7
    JFinal项目实践(了如股掌)6
    JFinal项目实践(了如股掌)5
    JFinal项目实践(了如股掌)4
    JFinal项目实践(了如股掌)3
  • 原文地址:https://www.cnblogs.com/xiaovlxx/p/4510434.html
Copyright © 2020-2023  润新知