PAT A1108 Finding Average

  • 这里的判断只做了一些基本的限制(正负号、每一位是不是数字、小数点的位置和数字的范围),还好测试用例也没有过于丰富的想象
  • 需要注意当有效的数字个数为0和1时的特殊输出
  • 看了柳神的方法,用sscan后sprintf回来的进行比较,省去了好多麻烦

#include<iostream>
#include<string>using namespace std;int main(){int num;cin >> num;int err_cnt = 0;double total = 0.0;for(int i = 0;i < num;i ++){string tmp;cin >> tmp;int j = 0,pos = -1;for(;j < tmp.length();j ++){if(j == 0 && tmp[j] == '-') continue;if((tmp[j] < '0' || tmp[j] > '9') && tmp[j] != '.'){cout << "ERROR: " + tmp + " is not a legal number\n";err_cnt ++;break;}if(pos == -1 && tmp[j] == '.') pos = j;}if(j != tmp.length()) continue;if(pos != -1 && tmp.length() - pos > 3){cout << "ERROR: " + tmp + " is not a legal number\n";err_cnt ++;continue;}double val = stod(tmp);if(val < -1000 || val > 1000){cout << "ERROR: " + tmp + " is not a legal number\n";err_cnt ++;continue;}total += val;}if(num - err_cnt == 1) printf("The average of 1 number is %.2lf",total);else if(num - err_cnt) printf("The average of %d numbers is %.2lf",num - err_cnt,total / (num - err_cnt));else printf("The average of 0 numbers is Undefined");return 0;
}

PAT A1108 Finding Average ——和羞走,倚门回首,却把青梅嗅相关推荐

  1. PAT 1108 Finding Average

    注意字符串和数字之间的相互转换 #include <iostream> #include<string> #include <cmath> using namesp ...

  2. 机器学习倚门回首嗅青梅

    初学者学习机,你是什么容易的机器学习,我不太明白什么是机器学习.结合机器学习中国人和我个人的理解的概念,我个人感觉.机器学习是指利用计算机发现规则适用于从数据一大推,和处理规则的应用.器学习的重点是怎 ...

  3. 机器学习之倚门回首嗅青梅

    初学机器学习时,你可能对于机器学习是什么,什么是机器学习不甚了解. 结合机器学习中文的概念以及我个人的理解,我个人觉得.机器学习就是指利用计算机从一大推数据中发现可用规则.并对该规则加以应用的过程.所 ...

  4. PAT甲级1108 Finding Average :[C++题解]stof、字符串变成浮点数、try和catch捕获异常、C++语法题

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: C++中有函数stoi表示把string 变成int,还有函数stof,表示把string变成float.如果是合法数字的话,sto ...

  5. 1108. Finding Average (20)-PAT甲级真题

    The basic task is simple: given N real numbers, you are supposed to calculate their average. But wha ...

  6. PAT 甲级 1108 Finding Average (20 分)

    思路: 1.不是数字的位置只能在第一个且为负号,或者在字符串的倒数第一.二.三位置.或者不存在: 2.上面的方法也可以用sscanf或者sprintf进行判定: 3.数字要在规定区间内: 4.按.2f ...

  7. 【PAT甲级】A1101-A1155刷题记录

    文章目录 (递推) A1101 Quick Sort (25 分) 0.23 (静态二叉树+遍历) A1102 Invert a Binary Tree (25 分) 0.51 (数学问题) A110 ...

  8. 【置顶】【PAT】PAT甲级题目及分类总结(持续更新ing)

    在2019年3月底,我决定考浙大计院,经过一个月还算凑合的学习,痛定思痛,决定整理整理自己的博客. 粗略估计,大概一个月的时间里我AC了31道题,大概用时40个小时上下,毕竟还要把大部分时间花在笔试上 ...

  9. 【PAT】PAT总结《语法篇》

    I/O c++ cin >> cout << res << endl 记忆符号方向即可,endl代表换行符.这两个函数都可以链式操作 c 函数库 cstdio ch ...

最新文章

  1. mysql innodb 索引结构_Mysql 学习笔记:InnoDB 索引结构浅析
  2. 在CSS3中,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理...
  3. 如何编写更好的SQL查询:终极指南-第三部分
  4. python计算平方用map函数_python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)...
  5. 向mysql 插入中文数值报错
  6. python递归查询并列出目录
  7. 阿里大数据部门真实工作场景,和你想象的一样吗?
  8. Xftp5 安装教程
  9. Robot Framework自动化测试教程-通过RIDE创建工程、测试套、测试用例、测试资源、变量文件,引入测试库
  10. Excel2JSON Excel转JSON Excel另存为JSON的技巧
  11. 第十二,十三周第12个容器架构
  12. cPickle和Pickle
  13. 【erdas】使用行政界线分割栅格影像
  14. html设置旋转中心兼容ie,IE中的CSS旋转属性
  15. BCG矩阵—波士顿矩阵
  16. 桌面计算机右键属性不弹窗,Win7系统右键计算机属性不见了的解决方法
  17. testdirector
  18. WPF 开发教程之UIElement、FrameworkElement和ContentElement
  19. [Python]图像处理——区域生长
  20. 【头歌】科比投篮预测——可视化与探索性数据分析(一)

热门文章

  1. 这多年来我一直在钻研的技术
  2. 程序员面试时需要注意哪些问题?
  3. C# Ocr离线式识别,文字提取,(附源码下载)
  4. 【Unity-实现小功能-001】骰子功能
  5. 惯性导航系统学习笔记——第二讲
  6. linux下如何把文件清空,详解在Linux中清空或删除大文件内容的5种方法
  7. Excel Xll开发资料
  8. IGBT-整流桥用-集成模块-相当于MOS管
  9. node连接数据库;webpack;token令牌的实现;CommonJs规范;websocket
  10. 新阶段金融科技发展规划:数据安全成监管重点