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

2025-12-24 10:39:40
推荐回答(2个)
回答1:

如果是可以使用函数的话,直接用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;
}

回答2:

LZ使用的是什么编程环境呢?一般的开发语言上都有相关的转换函数,如果只是为了学习言语进行联系,那就是另外一回事,但得说明白使用的语言和更具体的要求