1054 求平均值 (20 分)


分析:这个题乍一看并不难,但是丢分的点还是挺多的。
1.要注意只有一个小数点
2.小数点不能放在首位,而且首位是负号的话不能只有这一位。
3.每位只能是数字,且小数点后只有两位,并且总的绝对值小于1000.
4.输出的时候注意如果只有一个数为正确的 是 number 如果是两个及以上 是numbers(注意审题)
代码如下:

#include<string>
#include<cmath>
using namespace std;
int pd(string s) {int key = 0;     //记录小数点int m = 0;      //记录小数位数if (!(s[0] == '-'&&s.length()>1) && !isdigit(s[0]))          //第一位必为数字或者负号(不能只有负号)return 0;for (int i = 1; i < s.length(); i++) {if (isdigit(s[i])) {if (key) m++;         //小数位计数器}else if (s[i] == '.') {key++;        //开启计数器if (key == 2)  //只能有一个小数点return 0;}else                 //出现其他符号返回0return 0;}if (m <= 2 && abs(atof(s.c_str())) <= 1000)           //必须保证在题目范围内return 1;return 0;
}
int main() {int n, count = 0;double t, sum = 0;string str;cin >> n;while (n--) {cin >> str;if (pd(str)) {count++;sum += atof(str.c_str());}else {cout << "ERROR: " << str << " is not a legal number" << endl;}}cout << "The average of " << count;if (count == 1)                        //看清题意cout << " number is ";elsecout << " numbers is ";if (count)printf("%0.2lf", (double)sum / count);elsecout << "Undefined";return 0;
}

PTA 1054 求平均值 (c++ 代码+分析)相关推荐

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

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

  2. 【Python】1054 求平均值(Python异常处理练习)

    1. 题目 2. 代码 重坑,读题不仔细,导致耗时多. 题目中合法数字当只用一个的时候,输出的结果中的是number,而不是numbers # https://pintia.cn/problem-se ...

  3. 1054. 求平均值 (20)

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

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

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

  5. 1054 求平均值(PAT乙级 C++)

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

  6. 1054. 求平均值

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

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

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

  8. 【PAT乙级】1054 求平均值 (20 分)

    题目地址 测试点 2:k==1 number没有s 测试点 3:12. 这种是合法的 #include<cstdio> #include<iostream> #include& ...

  9. 12-1054. 求平均值

    1054. 求平均值 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题的基本要求非常简单:给定N个实 ...

最新文章

  1. Java并发基础构建模块简介
  2. 一条诡异的insert语句
  3. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 序列实偶 傅里叶变换 实偶 | 序列实奇 傅里叶变换 虚奇 | 证明 “ 序列实奇 傅里叶变换 虚奇 “ )
  4. 阿里云mysql 日志_mysql日志-阿里云开发者社区
  5. SP2010开发和VS2010专家食谱--第六章节--Web Services和REST(5)--Inserting new contacts through REST...
  6. CAN笔记(9) 位填充
  7. python+tensorflow+captcha库:基于TF快速破解验证码
  8. Mac比较知名的数据库开发工具Navicat Premium 15.0.30
  9. paip. lbmall V3.1.1 乐彼多用户商城系统的安全漏洞总结
  10. 秀米svg点击显示另一张图_SVG的雷,你踩过了没?
  11. 员工绩效考核指标设计主要原则(zt)
  12. VGA主机连接HDMI显示器
  13. MySQL 中文字段排序问题(根据中文拼音排序)
  14. setenv设置环境变量_setenv命令教程在Linux中添加,删除和更改环境变量
  15. 2. 样式,大纲和目录
  16. 另类QQ客户端 直接用QQ号登陆 (借花献佛)
  17. C语言·sqrt()的用法
  18. ..\Src\INA226.c(142): error: #20: identifier “GPIO_IDR_IDR9“ is undefined
  19. ERROR Error: command failed: yarn
  20. 计算机系给未来的自己写信,写信给未来的自己作文800字

热门文章

  1. 【LiteApp系列】何为爱奇艺小程序?
  2. 自动驾驶,离真正量产还差什么?
  3. 神舟战神z7摄像头怎么开启_自Z以来的首次旅行和网络摄像头的魔力
  4. android 椭圆遮罩动画,GuideView:一分钟实现Android遮罩引导视图
  5. “上下五千年,古诗古韵”温文北京个人演唱会 用歌声传递传统文化
  6. 为荣耀4c语言设置在哪里设置方法,华为荣耀6系统语言在哪里设置?
  7. 保险需求的智能分析:智能保顾——互联网平台建设...
  8. JavaScript字符串包含
  9. css3 keyframes 取消动画,CSS3 @keyframes简单动画实现
  10. C语言实现简单的图片加密(附代码)