The C Programming Language 2nd Edition Execise4-2 Answer

复习C语言练习,把字符串里面的数转化为浮点数。

// <<TCPG>> P4-6 by DaNmarner
#include < stdio.h >
#include
< ctype.h >
double  atofp ( char  s[])
{
    
int i,sign,expo;
    
double base,sign2,power=1;
    
for(i=0;isspace(s[i]);i++)
        ;
    sign
=(s[i]=='-')?-1:1;
    
if(s[i]=='-' || s[i]=='+') i++;
    
for(base=0;isdigit(s[i]);i++)
        
base=base*10+(s[i]-'0');
    
if(s[i]=='.'{
        i
++;
        
for(power=1;isdigit(s[i]);i++){
            
base=base*10+(s[i]-'0');
            power
*=10;
        }

    }

    printf(
"%c ",s[i]);
    
if(s[i]=='e' || s[i]=='E'){
        i
++;    
        printf(
"%c ",s[i]);
        sign2
=(s[i]=='-')?0.1:10;
        printf(
"%f ",sign2);
        
if(s[i]=='-' ||s[i]=='+') i++;
        expo
=(int)atofp(s+i);
        
for(;expo>0;expo--)
            power
=power/sign2;
    }

    
return base/power*sign;

}
    

name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-1391084545775812&dt=1187587170293&lmt=1187587166&format=468x15_0ads_al&output=html&correlator=1187587170273&channel=7913117752&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2FAdministrator%2F%E6%A1%8C%E9%9D%A2%2FCSDN%E6%96%87%E7%AB%A0%E9%A1%B6%E9%83%A8%E5%AF%BC%E8%88%AA.htm&color_bg=FFFFFF&color_text=000000&color_link=0000FF&color_url=000000&color_border=FFFFFF&ga_vid=254352278.1187587170&ga_sid=1187587170&ga_hid=2130092920&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=16&u_tz=480&u_java=true" frameborder="0" width="468" scrolling="no" height="15" allowtransparency="allowtransparency">

name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-1391084545775812&dt=1187587040446&lmt=1187587036&format=468x60_as&output=html&correlator=1187587040416&channel=8802996721&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2FAdministrator%2F%E6%A1%8C%E9%9D%A2%2FCSDN%E6%96%87%E7%AB%A0%E5%BA%95%E9%83%A8.htm&color_bg=FFFFFF&color_text=000000&color_link=0000FF&color_url=000000&color_border=FFFFFF&ad_type=text&ga_vid=1630047283.1187587040&ga_sid=1187587040&ga_hid=4528641&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=16&u_tz=480&u_java=true" frameborder="0" width="468" scrolling="no" height="60" allowtransparency="allowtransparency">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值