DAY2 模拟考试第一题 神秘的杂文

来源:互联网 发布:windows 测试udp端口 编辑:程序博客网 时间:2024/05/10 12:12

1、神秘的杂文
(article.pas/c/c++)
【题目描述】
有一篇“杂文”,由一些整数、带小数点的实数和乱七八糟的单词(字符串)组成。整数的范围必须在-70000到70000之间;实数用一般形式表示,而不用科学计数法,大小也在-70000到70000之间,(输入文件中保证)有效数字不超过10位;凡不符合以上格式和范围的都是单词,一个单词内部不含空格。
这些内容由空格或者回车分割,连续的空格可能不只一个,也可能有空行。
求除了单词以外的整数和实数的算术平均值。

【输入格式】
输入文件名为article.in
由整数、实数和单词间隔形成的文章。每行至多255个字符。文章大小至多100KB。

【输出格式】
输出文件名为article.out
文中符合要求的整数和实数的平均值,四舍五入保留小数点后2位。

【输入样例】
3 3.14 aaa 5a
A5 -3

-3.14 5

【输入样例】
1.00

#include <algorithm>#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <cstdlib>using namespace std; char *p,b[256];int main(){        freopen("article.in","r",stdin);    freopen("article.out","w",stdout);    int n=0;    double sum=0;    while(scanf("%s",b)!=EOF){        double t=strtod(b,&p);        if(!*p&&t<=70000&&t>=-70000){            n++;            sum+=t;        }    }    if(!n)    {        puts("0.00");    }    else printf("%.2lf",sum/n);    return 0;}

strtod用法:
double t=strtod(string a,char*p)
t为把a转化为浮点数的一个浮点数
*p为剩下的部分。。。。

他竟然有stl…stl….stl…呵呵呵
大模拟爆炸。。。。仅仅30分呵呵呵呵