PTA 1054 求平均值 (c++ 代码+分析)
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++ 代码+分析)相关推荐
- PTA 1054 求平均值 (20 分)
文章目录 code1 18分 code2 20分 注意点 code1 18分 #include<iostream> #include<string.h> using names ...
- 【Python】1054 求平均值(Python异常处理练习)
1. 题目 2. 代码 重坑,读题不仔细,导致耗时多. 题目中合法数字当只用一个的时候,输出的结果中的是number,而不是numbers # https://pintia.cn/problem-se ...
- 1054. 求平均值 (20)
1054. 求平均值 (20)本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区间内的实数, ...
- 【最优解法】1054 求平均值 (20分)_31行代码AC
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 本题的基本要求非常简单:给定 N 个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个" ...
- 1054 求平均值(PAT乙级 C++)
题目 本题的基本要求非常简单:给定 N 个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是 [−1000,1000] 区间内的实数,并且最多精确到小 ...
- 1054. 求平均值
本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位.当 ...
- PAT 乙级 1054. 求平均值 (20) Java版
本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位.当 ...
- 【PAT乙级】1054 求平均值 (20 分)
题目地址 测试点 2:k==1 number没有s 测试点 3:12. 这种是合法的 #include<cstdio> #include<iostream> #include& ...
- 12-1054. 求平均值
1054. 求平均值 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题的基本要求非常简单:给定N个实 ...
最新文章
- Java并发基础构建模块简介
- 一条诡异的insert语句
- 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 序列实偶 傅里叶变换 实偶 | 序列实奇 傅里叶变换 虚奇 | 证明 “ 序列实奇 傅里叶变换 虚奇 “ )
- 阿里云mysql 日志_mysql日志-阿里云开发者社区
- SP2010开发和VS2010专家食谱--第六章节--Web Services和REST(5)--Inserting new contacts through REST...
- CAN笔记(9) 位填充
- python+tensorflow+captcha库:基于TF快速破解验证码
- Mac比较知名的数据库开发工具Navicat Premium 15.0.30
- paip. lbmall V3.1.1 乐彼多用户商城系统的安全漏洞总结
- 秀米svg点击显示另一张图_SVG的雷,你踩过了没?
- 员工绩效考核指标设计主要原则(zt)
- VGA主机连接HDMI显示器
- MySQL 中文字段排序问题(根据中文拼音排序)
- setenv设置环境变量_setenv命令教程在Linux中添加,删除和更改环境变量
- 2. 样式,大纲和目录
- 另类QQ客户端 直接用QQ号登陆 (借花献佛)
- C语言·sqrt()的用法
- ..\Src\INA226.c(142): error: #20: identifier “GPIO_IDR_IDR9“ is undefined
- ERROR Error: command failed: yarn
- 计算机系给未来的自己写信,写信给未来的自己作文800字
热门文章
- 【LiteApp系列】何为爱奇艺小程序?
- 自动驾驶,离真正量产还差什么?
- 神舟战神z7摄像头怎么开启_自Z以来的首次旅行和网络摄像头的魔力
- android 椭圆遮罩动画,GuideView:一分钟实现Android遮罩引导视图
- “上下五千年,古诗古韵”温文北京个人演唱会 用歌声传递传统文化
- 为荣耀4c语言设置在哪里设置方法,华为荣耀6系统语言在哪里设置?
- 保险需求的智能分析:智能保顾——互联网平台建设...
- JavaScript字符串包含
- css3 keyframes 取消动画,CSS3 @keyframes简单动画实现
- C语言实现简单的图片加密(附代码)