数据结构 将一个数值型字符串转换为数值

编写函数mystof,形参s指向数值型字符串首地址floatmystof(char*s)串为“123.23”转换成为123.23... 编写函数mystof,形参s指向数值型字符串首地址
float mystof(char *s) 串为“123.23”转换成为123.23
展开
 我来答
johnny_2099
推荐于2016-10-09 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:53万
展开全部
如果是可以使用函数的话,直接用atof就好了
在数据结构课中估计是要考察栈的使用,把字符串按次序压栈S1,碰到小数点后压另一个栈S2,然后对S2的元素依次执行GetTop操作 sum+=(c-'0')*10^(-1*Stacklength(S2)),再pop;
对栈S1元素出栈执行操作执行累加。
float mystof(char *s){
while(s&&*s!='.'){push(S1,*s);s++};//小数点前入栈S1
while(s){push(S2,*s);s++};//小数点后入栈S2
float sum=0;
for(d=1;!StackEmpty(S1);d=d*10) //处理整数部分
{
pop(S1,c);
sum+=(c-'0')*d;
}
while(!StackEmpty(S2))//处理小数部分
{
GetTop(S2,c);
sum+=(c-'0')*10^(-1*Stacklength(S2)),
Pop(S2,c);
}
return sum;
}
wang_xtk
2012-12-15 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:133万
展开全部
LZ使用的是什么编程环境呢?一般的开发语言上都有相关的转换函数,如果只是为了学习言语进行联系,那就是另外一回事,但得说明白使用的语言和更具体的要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式