注意字符串和数字之间的相互转换

#include <iostream>
#include<string>
#include <cmath>
using namespace std;
bool judge(string& string1){int count=0;for (int i1=0;i1<string1.length();i1++) {char i=string1[i1];if (!(i=='.'||isdigit(i)||i=='-')){return false;}if(i=='.'){count++;if(string1.length()-i1>3){return false;}}if(count==2){return false;}}return true;
}
int main() {
//    std::cout << "Hello, World!" << std::endl;int N;cin>>N;double sum=0;int count=0;for (int i = 0; i < N; ++i) {string s;cin>>s;if(judge(s)){double val;sscanf(s.c_str(),"%lf",&val);//字符串转化为数字if (abs(val)>1000){printf("ERROR: %s is not a legal number\n",s.c_str());continue;}sum+=val;count++;} else{printf("ERROR: %s is not a legal number\n",s.c_str());}}if(count==0){cout<<"The average of 0 numbers is Undefined";return 0;} else if(count==1){cout<<"The average of 1 number is ";printf("%.2f\n",sum);return 0;}cout<<"The average of "<<count<<" numbers is ";printf("%.2f\n",sum/count);return 0;
}

PAT 1108 Finding Average相关推荐

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

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

  2. PAT A1108 Finding Average ——和羞走,倚门回首,却把青梅嗅

    PAT A1108 Finding Average 这里的判断只做了一些基本的限制(正负号.每一位是不是数字.小数点的位置和数字的范围),还好测试用例也没有过于丰富的想象 需要注意当有效的数字个数为0 ...

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

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

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

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

  5. PAT甲级题目翻译+答案 AcWing(字符串处理)

    1001 A+B Format (20 分) 题意 :将整数转换成标准格式 思路 :从后往前遍历字符串进行模拟,每三个数字加一个逗号,但不能是在最前面加逗号,也不能是加在负号后面 #include & ...

  6. 【PAT甲级】字符串处理及进制转换专题

    目录 字符串处理 PAT甲级 1001 A+B Format (20 分) PAT甲级1005 Spell It Right (20 分) PAT甲级1035 Password (20 分) PAT甲 ...

  7. 刷PAT甲级的各题思路、细节以及遇到的问题记录

    1001 A+B Format (20分) 因为一定会用到字符串,而string非常好用,但是用的时候一定要注意不能越界访问,否则会在运行时出现abort() has been called. 100 ...

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

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

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

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

最新文章

  1. 强化学习(二)—— 价值学习(Value-Based)及DQN
  2. 空间直角坐标转换之仿射变换(转)
  3. 高级软件测试技术17秋第1次课堂作业小结
  4. 针对金融级交易场景的严苛技术要求,如何修炼这门“必修课”?
  5. amos调节变量怎么画_结构方程模型建模思路及Amos操作--调节变量效果确定(二)...
  6. php PDO连接mysql
  7. 在线PS照片处理工具 无需下载怎么编辑图片
  8. VS2019 项目模板制作
  9. java calendar星期几_java使用Calendar类判断今天是星期几
  10. python金融分析小知识(6)——偏度与峰度的计算
  11. 详解区块链中EOS的作用。
  12. vue-devtools 具体使用配置详情
  13. Microsoft Edge闪退问题解决方案:
  14. 炒菜更香的39个小窍门
  15. recon靶机实验实战演练
  16. 5、♥☆基于STM32的智能手环√★☆
  17. 彗星撞地球 | 近25万倍压缩的精品3D动画
  18. linux服务器被挖矿的解决办法
  19. linux下BLE(低功耗蓝牙协议)C语言开发笔记(2)---ble蓝牙扫描-连接-读写
  20. Linux核心安装(转)

热门文章

  1. Java程序编写----个人所得税计算器编写
  2. 简单的手机蓝牙遥控智能小车
  3. 小程序笔记(四)发表评论或者普通发帖
  4. quartz的schedulerFactory实现解析
  5. DAWG A Defense Against Cache Timing Attacks in Speculative Execution Processors
  6. android 切换摄像头加动画,android前后摄像头切换
  7. Python+Opencv身份证号码区域提取及识别!
  8. python获得股票数据并画图
  9. 智能手机Web开发笔记
  10. 最有钱的省都在“争”!海洋类大学,要崛起了?