【发布时间】:2014-10-07 02:53:14
【问题描述】:
假设我有一个 3.50(字符串)的输入,我该如何解析它以便将它存储为 3 美元和 50 美分。美元和美分都是整数,不允许使用atoi。
我有这个想法,但显然它在 C 中不起作用(假设令牌是 3.50):
dollars = int(token); /* dollars is 3 */
cents = atoi(token) - dollars; /* atoi is not allowed but I can't think of anything else */
谢谢!
【问题讨论】:
-
请不要将值转换为
float。人们对舍入错误感到好笑 -
如果
atoi不被允许,人们不得不怀疑any库函数是否被允许。也许重点是自己解析字符串,一次一个字符。 -
使用
sprintf而不是atoi。 -
-1 对于这些任意要求避开标准库,在 cmets 中对答案进行了说明。你应该做自己的功课。对你来说会更好。
标签: c