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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值