PAT A1108

美不胜收
• 阅读 1521

PAT A1108
字符串处理,个人觉得最好的办法还是建立一个处理函数统一进行处理;

#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
const int maxn = 101;
bool Judge(string s,double &x){
    int dot = 0,n1 = 0,n2 = 0;
    int i = 0;
    if(s[i]=='-') i++;
    for(;i < s.size();i++){
        if(s[i]=='.'){
            dot++;
            if(dot > 1) return 0;
        } else if(s[i]>='0'&&s[i]<='9'){
            if(dot) n2++;
            else n1++;
        } else return 0;
    }
    if(n2>2) return 0;
    sscanf(s.c_str(),"%lf",&x);
    if(x>=-1000&&x<=1000) return 1;
    return 0;
}       
int main(){
    int n,cnt = 0;
    double x,ans = 0;
    string s;
    cin >> n;
    for(int i = 0;i < n;i++){
        cin >> s;
        if(Judge(s,x)){
            cnt++;
            ans += x;
        } else {
            cout << "ERROR: " << s << " is not a legal number\n";
        }
    }
    if(cnt==1){
        printf("The average of 1 number is %.2f\n",ans);
        return 0;
    }
    printf("The average of %d numbers is ",cnt);
    if(cnt) printf("%.2f\n",ans/cnt);
    else cout << "Undefined\n";
    return 0;
}
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
3年前
Spring Boot Jackson命名策略
在SpringBoot的Jackson中我们可以使用@JsonProperty对Java属性转Json字符串的key进行指定。那么,当批量处理统一类型的格式时,@JsonProperty就显得比较麻烦了。publicclassLoginUser{@JsonProperty("user_name")priv
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
03.Android崩溃Crash库之ExceptionHandler分析
目录总结00.异常处理几个常用api01.UncaughtExceptionHandler02.Java线程处理异常分析03.Android中线程处理异常分析04.为何使用setDefaultUncaughtExceptionHandler前沿上一篇整体介绍了crash崩溃
Wesley13 Wesley13
3年前
Oracle一张表中实现对一个字段不同值和总值的统计(多个count)
需求:统计WAIT\_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。表结构:为了举例子方便,WAIT\_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。 SQL:  1.SELECT   2
Stella981 Stella981
3年前
Leetcode38 外观数组题解
这种字符串处理的题目,微软很喜欢考思路是在递归的基础上进行字符串处理classSolution{publicStringcountAndSay(intn){if(n1)return"1";StringstrcountAndSay(n1);
Wesley13 Wesley13
3年前
初探 Objective
作者:Cyandev,iOS和MacOS开发者,目前就职于字节跳动0x00前言异常处理是许多高级语言都具有的特性,它可以直接中断当前函数并将控制权转交给能够处理异常的函数。不同语言在异常处理的实现上各不相同,本文主要来分析一下ObjectiveC和C这两个语言。为什么要把ObjectiveC和
Stella981 Stella981
3年前
Python OpenCV学习笔记之:图像滤波处理
\\coding:utf8\图像滤波'''图像处理也支持低通滤波(LPF)和高通滤波(HPF)处理OpenCV提供filter2D函数对图像进行滤波处理'''importcv2ascvimportnumpyasnpimportmatplotlib.pyplotasplt读取图像img
Wesley13 Wesley13
3年前
2019学期第八周编程总结
61函数实现字符串逆序(15分)本题要求实现一个字符串逆序的简单函数。函数接口定义:voidf(charp);函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。裁判测试程序样例:include<stdi