为什么我使用stoi函数一直显示没有声明,而在VS上可以跑过测试点
查看原帖
为什么我使用stoi函数一直显示没有声明,而在VS上可以跑过测试点
289068
阿烨楼主2020/7/24 11:13
#include <iostream>
#include <string>
using namespace std;
int change(int number)
{
	int temp = 0;
	while (number) {
		temp = temp * 10 + number % 10;
		number /= 10;
	}
	return temp;
}
int main(void)
{
	string num;
	cin >> num;
	int number1 = 0, number2 = 0,temp1 = 0, temp2 = 0;;
	int key = 0;
	char a = '.', b = '/', c = '%';
	if (num.find(a) != string::npos) {
		number1 = stoi(num);
		temp1 = change(number1);
		key = num.find(a);
		number2 = stoi(num.erase(0, key + 1));
		temp2 = change(number2);
		cout << temp1<<"."<<temp2;
	}
	else if (num.find(b) != string::npos) {
		number1 = stoi(num);
		key = num.find(b);
		number2=stoi(num.erase(0, key+1));		
		temp1 = change(number1);
		temp2 = change(number2);
		cout << temp1 << "/" << temp2;
	}
	else if (num.find(c) != string::npos) {
		key = num.find(c);
		num.erase(key,1);
		number1 = stoi(num);
		temp1 = change(number1);
		cout << temp1<<"%";
	}
	else {
		number1 = stoi(num);
		temp1 = change(number1);
		cout << temp1;
	}
	return 0;
}
2020/7/24 11:13
加载中...