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分呵呵呵呵