题意:

求一系列输入的平均值,其中有的输入不合法

思路:

这题本身就判断一下就行,主要是记录一下sscanf和sprintf的用法:

sscanf() – 从一个字符串中读进与指定格式相符的数据

sprintf() – 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。

注意sscanf()要提取值必须完全与格式匹配,所以abc11.654这种格式是不行的,只能是11.4546aa这种格式。

#include<bits/stdc++.h>
using namespace std;int main() {int n;scanf("%d", &n);double sum = 0.0,temp;int count = 0;char a[50], b[50];for (int i = 0; i < n; i++) {scanf("%s", a);sscanf(a, "%lf", &temp);sprintf(b, "%.2lf", temp);//cout << a << " " << temp << " " << b << endl;bool flag = true;for (int j = 0; j < strlen(a); j++) {if (a[j] != b[j]) {flag = false;break;}}if (!flag || temp < -1000 || temp>1000) {printf("ERROR: %s is not a legal number\n", a);} else {sum += temp;count++;}}if (count == 0) {printf("The average of 0 numbers is Undefined\n");} else if(count==1){printf("The average of 1 number is %.2lf\n", sum);} else {printf("The average of %d numbers is %.2lf\n", count, sum / count);}return 0;
}

转载于:https://www.cnblogs.com/seasonal/p/10343604.html

1108 Finding Average (20)(字符串)相关推荐

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

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

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

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

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

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

  4. PAT 1108 Finding Average

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

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

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

  6. PAT甲题题解-1001. A+B Format (20)-字符串处理,水

    计算A+B的和,并且按标准格式处理,每3个就要有个逗号 #include <iostream> #include <cstdio> #include <algorithm ...

  7. PAT甲级题解-1100. Mars Numbers (20)-字符串处理

    没什么好说的,注意字符串的处理,以及当数字是13的倍数时,只需高位叫法的单词.比如26,是"hel",而不是"hel tret". 代码: #include & ...

  8. 【PAT乙级】 1014福尔摩斯的情书(20) [字符串处理]

    题目 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了,字 ...

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

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

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

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

最新文章

  1. vector容器的用法
  2. @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不...
  3. Windows 2003系统下桌面清理向导
  4. R语言观察日志(part12)--关于.Rprofile文件
  5. 计算机网络常用知识笔记(超全面)!
  6. [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
  7. 交际过程的两个基本环节_要客品味 | 人际交往礼仪——交际礼仪的基本原则
  8. 语音识别技术发展史与行业最佳实践全解析
  9. web网页打印设计的CSS样式
  10. linux考试试题及答案填空题,Linux认证考试试题及答案(20210511022419)
  11. 性能调优分析之:Oracle SQL执行计划报告生成器
  12. 小程序 版本管理使用教程
  13. 【CV】ShuffleNet:通过 GroupConv 和 ChannelShuffle 实现轻量化 CNN 架构
  14. Unity3d编辑器的使用
  15. ep服务器修改时间,BIOS揭秘 手把手教你设置Nehalem平台
  16. codewars练习(javascript)-2021/3/23
  17. 三菱PLC GX Work2学习笔记
  18. Debian本地源的创建及应用
  19. ANDROID XML图像资源文件详细讲解(一)
  20. Lamdba及DataTable AsEnumerable()的使用

热门文章

  1. Flink Forward Asia 2021 延期,线上相见
  2. 揭秘!开源软件背后的神秘组织
  3. Picasso,Glide,Fresco对比分析
  4. 跳槽到新公司,我直接让项目的性能提升了一半。。。
  5. SurfaceView浅析
  6. 科学计数怎么转换成数字_勒夫迈 | 激光尘埃粒子计数器传感器工作原理
  7. boot spring 获取请求端口浩_Spring boot 无端口模式启动
  8. html前沿技术网页,HTML5新技术给网站带来了哪些改变
  9. java kafka spring_Kafka——Spring集成Kafka
  10. go语言项目目录文件的管理样式