题目地址

测试点 2:k==1 number没有s
测试点 3:12. 这种是合法的

#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int n;
string s;
bool check(string s)
{if( (s[0]=='+'||s[0]=='-') && s.size()==1) return false;if(s[0]=='+'||s[0]=='-') s=s.substr(1);int k=0,index=0;for(int i=0;i<s.size();i++){if(s[i]=='.') k++,index=i+1;else if(s[i]<'0'||s[i]>'9') return false;}if(k>=2) return false;if(k==0) return true;if( (s.size()-index)>2 ) return false;return true;
}
int main(void)
{cin>>n;double sum=0;int cnt=0;bool flag=false;for(int i=0;i<n;i++){cin>>s;if(check(s)) {double temp=stod(s);if(temp>=-1000.0&&temp<=1000.0) sum+=temp,cnt++,flag=true;else printf("ERROR: %s is not a legal number\n",s.c_str());}else printf("ERROR: %s is not a legal number\n",s.c_str());}if(flag&&cnt!=1) printf("The average of %d numbers is %.2lf\n",cnt,sum/cnt);else if(flag) printf("The average of %d number is %.2lf\n",1,sum);else printf("The average of 0 numbers is Undefined");return 0;
}
#include<bits/stdc++.h>
using namespace std;
int cnt,t;
double sum;
bool check(string s)
{string temp=s;int k=0;if(temp[0]=='-'||temp[0]=='+') temp=temp.substr(1);for(int i=0;i<temp.size();i++){if(temp[i]=='.') k++;else if(temp[i]<'0'||temp[i]>'9') return false;}if(k>1) return false;if(k){int l=temp.find('.');int len=temp.size()-l-1;if(len>2) return false;}double a=stod(s);if(a>=-1000.0&&a<=1000.0) return true;else return false;
}
int main(void)
{cin>>t;while(t--){string s; cin>>s;if(check(s)) cnt++,sum+=stod(s);else printf("ERROR: %s is not a legal number\n",s.c_str());}if(cnt>1)  printf("The average of %d numbers is %.2lf",cnt,sum/cnt);else if(cnt==1) printf("The average of %d number is %.2lf",cnt,sum/cnt);else printf("The average of 0 numbers is Undefined");return 0;
}

【PAT乙级】1054 求平均值 (20 分)相关推荐

  1. PAT 乙级 1054. 求平均值 (20) Java版

    本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位.当 ...

  2. 【最优解法】1054 求平均值 (20分)_31行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 本题的基本要求非常简单:给定 N 个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个" ...

  3. PTA 1054 求平均值 (20 分)

    文章目录 code1 18分 code2 20分 注意点 code1 18分 #include<iostream> #include<string.h> using names ...

  4. 1054. 求平均值 (20)

    1054. 求平均值 (20)本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区间内的实数, ...

  5. PAT乙级 1029 旧键盘 (20 分)

    1029 旧键盘 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 原题链接 代码 #inc ...

  6. PAT乙级1028 人口普查 (20 分)

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  7. PAT乙级 1044 火星数字 (20分)

    1044 火星数字 (20分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ju ...

  8. PAT 乙级1072 开学寄语 (20分)

    1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...

  9. PAT乙级_1068 万绿丛中一点红 (20 分)_python

    题目: 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的 ...

最新文章

  1. java中打开文件显示_从java程序中打开任何文件
  2. 使用 Gatsby.js 搭建静态博客 EX 使用语雀发布到博客
  3. 「技术综述」基于弱监督深度学习的图像分割方法综述
  4. Ubuntu 16.04服务器版查看DHCP自动分配的IP、网关、DNS
  5. Eclipse项目启动不了
  6. 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
  7. 【python】队列——用顺序表实现队列操作
  8. Spring中的简单实现AOP小例子
  9. mysql性能测试工具msyqlslap_MySQL性能测试工具 mysqlslap
  10. spring-boot 添加http自动转向https
  11. linux复制文件夹 实例,linux复制文件夹与文件实例介绍linux操作系统 -电脑资料
  12. 项目中记录影响性能的缓慢数据库查询
  13. js获取request中的值_基于node.js的开发框架 — Koa
  14. mysql 缺省配置 崩溃_MySQL5.6初始配置调优_MySQL
  15. HDU1860 统计字符【水题+输入输出】
  16. 工作中最重要的个人品质--独立
  17. 15. 从远程库克隆
  18. 翻译Introduction+to+3D+Game+Engine+Design+Using+DirectX+9+and+CSharp
  19. 制作后台首页详细步骤
  20. oracle12c启动ODM,Oracle 12c impdp 导入ORA-17500: ODM err:Communication error on send 错误处理方法...

热门文章

  1. UVA11255 Necklace Burnside、组合
  2. JAVA常见的排序算法
  3. java socket 模拟im 即时通讯
  4. MySql 长时间读数据发生超时的异常 Mysql Reader Exception TimeOut expired
  5. 非常好的dllimport 文章--在 C# 中通过 P/Invoke 调用Win32 DLL
  6. javascript select option对象总结
  7. 蓝牙HCI剖析(三)
  8. 多重签名(Multisig)
  9. C++ Primer 5th笔记(chap 13 拷贝控制)交换操作
  10. 初等数论--同余--欧拉函数、欧拉定理、费马小定理