string(strtod)——神秘的杂文

来源:互联网 发布:淘宝网流量分析 编辑:程序博客网 时间:2024/05/20 23:36

题目描述

  有一篇“杂文”,由一些整数、带小数点的实数和乱七八糟的单词(字符串)组成。整数的范围必须在-70000到70000之间;实数用一般形式表示,而不用科学计数法,大小也在-70000到70000之间,(输入文件中保证)有效数字不超过10位;凡不符合以上格式和范围的都是单词,一个单词内部不含空格。

  这些内容由空格或者回车分割,连续的空格可能不只一个,也可能有空行。

求除了单词以外的整数和实数的算术平均值。

 

输入格式

由整数、实数和单词间隔形成的文章。

每行至多255个字符。文章大小至多100KB。

 

输出格式

文中符合要求的整数和实数的平均值,四舍五入保留小数点后2位。

 

输入样例

3 3.14aaa 5a

A5 -3

 

-3.145

 

输入样例

1.00


思路&strtod函数用法

string的stl函数大法好!

神奇的strtod函数!!!

double k;char str[maxlen],*it;scanf("%s",str);k=strtod(str,&it);

k即strtod函数的返回值为一个double类型的实数 为字符串str前缀的实数

it为str除去能构成实数k的部分剩下的字符串


代码(C++)

#include <cstdio>#include <string>#include <stdlib.h>using namespace std;int num=0;double f,ans=0;char s[70010],*c; string k;int main(){while(~scanf("%s",s)){f=strtod(s,&c);k=c;if(f>=-70000&&f<=70000&&k=="")++num,ans+=f; }if(num==0)printf("0.00");elseprintf("%.2lf",ans/num);return 0;}


原创粉丝点击