| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 195 人关注过本帖
标题:科学计数法 高手们都来看看吧!该怎么改?
收藏  订阅  推荐  打印 
20072815
Rank: 2
等级:注册会员
帖子:85
积分:1030
注册:2007-12-1
科学计数法 高手们都来看看吧!该怎么改?

对于非常大或者非常小的数据,我们通常用科学记数法来表示。例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6),或者 9.18×10-5 (科学记树法表示:9.18E-5)这种类型的数据。

输入:
    用科学记数法表示的数据。即为符合C语言表示的科学记数法表示。

输出:
    该数据的双精度表示

说明:
    输入数据的精度不高于小数点后50位。
    输入数据时,在实数和幂之间有空格进行分隔,空格个数不定。
    结果保留到小数点后8位,如不足8位用0补足,超过8位则截断,不进行四舍五入的处理。

main()   
{   
float a,t;char m[20],n;int i=0,b;   
scanf("%f %s%c%d",&a,m,&n,&b);
while(m[i++])   
if(n==' ')   
{t=a;   
do{t=t*10;i++;}   
while(i<b);   
printf("%0.8f",t);   
}   
if(n=='-')   
{t=a;   
do{t=t/10;i++;}   
while(i<b);   
printf("%0.8f",t);   
}   
}  
程序主要问题是 输入数据时,在实数和幂之间有空格进行分隔,空格个数不定。
帮忙看看,谢了!
搜索更多相关主题的帖子: 计数法  科学  
2007-12-10 17:57
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.077013 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved