文章

28

粉丝

230

获赞

23

访问

244.0k

头像
思路:取子串+将数字字符还原为数字
P1267 北京大学机试题
发布于2021年3月24日 21:30
阅读数 7.9k

#include <iostream>
#include <bits/stdc++.h>

using namespace std;


int transint(string str){//数字字符串转换为数字
	int Sum=0;
	reverse(str.begin(), str.end());//逆序,不逆序也行,后面i改为length()-1,i>0。
	for (int i = 0; i < str.length(); ++i)
	{
		Sum+=(str[i]-'0')*pow(10,i);//字符还原数字
	}
	return Sum;
}

int Fun(int x){
	if (x==0)
	{
		return 1;
	}else{
		return x*Fun(x-1);
	}
}

int main(int argc, char const *argv[])
{
	string str;
	while(getline(cin,str)){
		for (int i = 0; i < str.length(); ++i)
		{
			if (str[i]=='+')
			{
				string a=str.substr(0,i-1);
				string b=str.substr(i+2,str.length());
				int x=transint(a);
				int y=transint(b);
				cout<<x+y<<endl;
				break;
			}
			if (str[i]=='-')
			{
				string a=str.substr(0,i-1);
				string b=str.substr(i+2,str.length());
				int x=transint(a);
				int y=transint(b);
				cout<<x-y<<endl;
				break;
			}
			if (str[i]=='*')
			{
				string a=str.subs...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发