由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教一个bloomberg题目
相关主题
攒人品 报BB面经A simple interview question
c++ 程序一问只用加减实现整数除法,到底想考查什么?
问两个题请问给一个整数,如何返回他的平方根?
Leetcode OJ的编译器是?输入一个整数,返回它二进制 的1的个数
G 家电面面经float取小数部分
float的格式化打印3个包子伺候3道笔试问题
这题有好办法吗?怎么取一个float的小数部分呢?
问一道C++编程题G家店电面挂,在不面他家了,坑太深
相关话题的讨论汇总
话题: foa话题: nfoa话题: bloomberg话题: 题目话题: szfoa
进入JobHunting版参与讨论
1 (共1页)
c***g
发帖数: 472
1
请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67
这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?
谢谢了.
s*********t
发帖数: 1663
2
int?

67

【在 c***g 的大作中提到】
: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67
: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?
: 谢谢了.

s*****n
发帖数: 350
3
sprintf( buf, "%f\n", var)
c***g
发帖数: 472
4
sorry, 应该是float

【在 s*********t 的大作中提到】
: int?
:
: 67

r****o
发帖数: 1950
5
这道题是说整数部分要每3位加一个,么?
小数部分呢?

345.67

【在 c***g 的大作中提到】
: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67
: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?
: 谢谢了.

h*******x
发帖数: 12808
6
这个行吗?

【在 s*****n 的大作中提到】
: sprintf( buf, "%f\n", var)
y**i
发帖数: 1112
7
这样允许么?

【在 s*****n 的大作中提到】
: sprintf( buf, "%f\n", var)
y**i
发帖数: 1112
8
小数部分是不是可以这么做?
float a = 12345.67;
float foa = a-(int)a;
const int nfoa = 2;
char szfoa[nfoa+1];
memset(szfoa, 0, nfoa+1);
for (int i = 0; i < nfoa; ++i)
{
foa *= 10;
szfoa[i] = '0'+(int)foa;
foa -= (int)foa;
}
if ((int)(foa*10) > 4)
++szfoa[nfoa-1];

345.67

【在 c***g 的大作中提到】
: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67
: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?
: 谢谢了.

h*******x
发帖数: 12808
9
float能简单一些,要是double就麻烦一些吧。

345.67

【在 c***g 的大作中提到】
: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67
: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?
: 谢谢了.

w******1
发帖数: 520
10
有点迷糊。
w******1
发帖数: 520
11
用规则表达式可以么?
\d+(d{3})+.\d+
然后把group用, 分开打印?
f**r
发帖数: 865
12
我觉得是这样做:
1. 用个floor function把整数部分和小数部分分开。
2. 整数部分除10,余数就是最低位。然后把剩下的结果再除10,直到除尽得到最高位
。反过来打印,每三位加入逗号。
3. 小数部分乘10,得到的整数部分就是小数部分的最高位。然后把剩下的结果再乘10
,直到达到要求的精度。
完毕。
m****u
发帖数: 3915
13
正解

10

【在 f**r 的大作中提到】
: 我觉得是这样做:
: 1. 用个floor function把整数部分和小数部分分开。
: 2. 整数部分除10,余数就是最低位。然后把剩下的结果再除10,直到除尽得到最高位
: 。反过来打印,每三位加入逗号。
: 3. 小数部分乘10,得到的整数部分就是小数部分的最高位。然后把剩下的结果再乘10
: ,直到达到要求的精度。
: 完毕。

1 (共1页)
进入JobHunting版参与讨论
相关主题
G家店电面挂,在不面他家了,坑太深G 家电面面经
整数和小数分别用数组表示, 寻找所有的组合满足A(x)*B(y)>A(xfloat的格式化打印
大家碰到过这题吗?reverse float/double number这题有好办法吗?
怎么用putc(char a) (每次只能输出一个字符),输出一个float问一道C++编程题
攒人品 报BB面经A simple interview question
c++ 程序一问只用加减实现整数除法,到底想考查什么?
问两个题请问给一个整数,如何返回他的平方根?
Leetcode OJ的编译器是?输入一个整数,返回它二进制 的1的个数
相关话题的讨论汇总
话题: foa话题: nfoa话题: bloomberg话题: 题目话题: szfoa