ACMer  
日历
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567
统计
  • 随笔 - 3
  • 文章 - 9
  • 评论 - 3
  • 引用 - 0

导航

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 
#include <stdio.h>
#include 
<ctype.h>

/*
int atoi(char s[])
{
    int i = 0;
    int result, sign;
    while(isspace(s[i++])) ;
    for(sign = 1; '+' == s[i] || '-' == s[i]; ++i)
    {
        if ('-' == s[i])
            sign *= -1;
    }
    for(result = 0;isdigit(s[i]); ++i)
        result = result*10 + (s[i] - '0');
    return result * sign;
}
*/

double atof(char s[])
{
    
double val, power;
    
int i, sign;

    
for (i = 0; isspace(s[i]); ++i)
        ;
    
for (sign = 1'+' == s[i] || '-' == s[i]; ++i)
        
if ('-' == s[i])
            sign 
*= -1;

    
for (val = 0.0; isdigit(s[i]); ++i)
        val 
= val*10.0 + (s[i] - '0');

    
if ('.' == s[i])
        
++i;
    
for (power = 1.0; isdigit(s[i]); ++i)
    {
        val 
= val*10.0 + (s[i] - '0');
        power 
*= 10;
    }
    
return sign * val / power;
}

int atoi(char s[])
{
    
return (int)atof(s);
}

int main(void)
{
    
char s[50];
    scanf(
"%s", s);
    printf(
"%f\n%d\n", atof(s),atoi(s));
    
return 0;
}

posted on 2009-05-01 19:36 小奇 阅读(292) 评论(0)  编辑 收藏 引用 所属分类: 个人日志

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


 
Copyright © 小奇 Powered by: 博客园 模板提供:沪江博客