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个实 ...
最新文章
- MsSQL的字段类型
- 深入浅出全面解析RDMA
- 多线程:同步和异步的优缺点比较
- 被围绕的区域(dfs)
- python如何连续打印_Python实现批量打印功能
- 牛客练习赛69E-子串【树状数组】
- ajax传值controller怎么写,ajax如何传递参数给controller
- 如果风 知道 ... 如果云 知道 ...
- java 一些容易忽视的小点-控制语句
- php larver 导出e,laravel5 Excel导出
- 专为控制打印设计的CSS样式
- 性能测试流程(超级详细)
- java报告模板_JAVA报告模板.doc
- EyouCms1.0前台GetShell漏洞复现
- 基于STM32的频率计Proteus仿真教程
- 解决对表空间没有权限的问题
- 小米运动蓝牙耳机重新配对_小米运动蓝牙耳机怎么连接手机
- SimpleFOC(二)—— 快速入门 (开环控制)
- 读书笔记:程序员的数学 概率统计
- 用炒菜的思路搞定你的复杂分析