在线笔试小Tips
001-输入输出
c++:
在不知道有多少行的情况下可以这样,例如
1 2
5 5
1 2
5 5
5 5
...
ios::sync_with_stdio(0);//加这条语句可以使输入提高5倍速度
while(cin>>a>>b)
{
//过程
cout<<res<<endl;//适用与1行1case的情况
}
cout<<res<<endl;//适用与n行一个case的情况。
002-对于字符串string的一些操作
//输入字符串“ax +b=c”,输出计算结果“x=(c-b)/a,结果保留一位小数”
string str= "10 x +1000=1111";
//去除str中的空格
string stemp;
for(auto c:str)
{
if(c!=' ') stemp.push_back(c);
}
str.swap(stemp);//str ="10x+1000=1111"
//找到x,=的位置,
size_t xPos = str.find('x');//xPos=2
size_t equalPos = str.find('=');//equalPos=8;
string a(str.begin(),str.begin()+xPos);
string b(str.begin()+xPos+1,str.begin()+equalPos);
string c(str.begin()+equalPos+1,str.end());
float numA= stof(a);//还有stoi,stol,stod,stold,stoll,stoul,stoull,to_string,to_wstring...
float numB= stof(b);
float numC= stof(c);
float num = (numC-numB)/numA;
cout<<numA<<endl;
cout<<numB<<endl;
cout<<numC<<endl;
cout<<"x="<<round(num*10)/10;