同花顺一面
正好今天下雨,给本就不好的移动信号雪上加霜。本来是约的 4:00,手机显示的满信号,所以就没有跑出去。结果发现是假的满信号。。。跑出去重启了一下手机才和面试官接通电话。面试官还是挺好的,因为我没下会议 app,又等我下了会议软件。我主力系统 Linux,但是面试系统是 win,而且 win 是没有环境的,所以笔试是屏幕共享 + 在线编译器(没有补全。。。)
主要是做了一些自我介绍,说了些项目,然后就是脚本语言用哪些。算法的话考察了一个字符串转浮点数的算法。这种涉及精度的我写的还是很少的。。。
stof 的话写的还是有些问题,但是目前也没有改进思路,希望哪位大哥看到能够给予指点:
```C++
#include
(5488)#include
#include
(6079)#include
using namespace std;
int str2i(string s){
int n = s.length();
int b;
for(int i = 0; i < n; ++i){
int c = s[i] - '0';
b+=pow(10, i);
}
return b;
}
double stof(string& s){
int pos = s.find('.');
string per = s.substr(0,pos);
string aft = s.substr(pos);
int a = str2i(per);
double b = str2i(aft);
while(b>1) b*=0.1;
return a+b;
}
int main(){
cout.width(7);
cout<<3444.676609986555211;
}
```
正好今天下雨,给本就不好的移动信号雪上加霜。本来是约的 4:00,手机显示的满信号,所以就没有跑出去。结果发现是假的满信号。。。跑出去重启了一下手机才和面试官接通电话。面试官还是挺好的,因为我没下会议 app,又等我下了会议软件。我主力系统 Linux,但是面试系统是 win,而且 win 是没有环境的,所以笔试是屏幕共享 + 在线编译器(没有补全。。。)
主要是做了一些自我介绍,说了些项目,然后就是脚本语言用哪些。算法的话考察了一个字符串转浮点数的算法。这种涉及精度的我写的还是很少的。。。
stof 的话写的还是有些问题,但是目前也没有改进思路,希望哪位大哥看到能够给予指点:
```C++
#include
(5488)#include
#include
(6079)#include
using namespace std;
int str2i(string s){
int n = s.length();
int b;
for(int i = 0; i < n; ++i){
int c = s[i] - '0';
b+=pow(10, i);
}
return b;
}
double stof(string& s){
int pos = s.find('.');
string per = s.substr(0,pos);
string aft = s.substr(pos);
int a = str2i(per);
double b = str2i(aft);
while(b>1) b*=0.1;
return a+b;
}
int main(){
cout.width(7);
cout<<3444.676609986555211;
}
```
全部评论
你可以每一位乘一个小数,直接将小数部分字符串变数字可能会溢出
相关推荐
11-21 15:10
华南农业大学 运营 点赞 评论 收藏
分享
10-10 21:38
湖南文理学院 Web前端 点赞 评论 收藏
分享