1108 Finding Average (20)(字符串)
题意:
求一系列输入的平均值,其中有的输入不合法
思路:
这题本身就判断一下就行,主要是记录一下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)(字符串)相关推荐
- 1108. Finding Average (20)-PAT甲级真题
The basic task is simple: given N real numbers, you are supposed to calculate their average. But wha ...
- PAT 甲级 1108 Finding Average (20 分)
思路: 1.不是数字的位置只能在第一个且为负号,或者在字符串的倒数第一.二.三位置.或者不存在: 2.上面的方法也可以用sscanf或者sprintf进行判定: 3.数字要在规定区间内: 4.按.2f ...
- PAT甲级1108 Finding Average :[C++题解]stof、字符串变成浮点数、try和catch捕获异常、C++语法题
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: C++中有函数stoi表示把string 变成int,还有函数stof,表示把string变成float.如果是合法数字的话,sto ...
- PAT 1108 Finding Average
注意字符串和数字之间的相互转换 #include <iostream> #include<string> #include <cmath> using namesp ...
- PAT A1108 Finding Average ——和羞走,倚门回首,却把青梅嗅
PAT A1108 Finding Average 这里的判断只做了一些基本的限制(正负号.每一位是不是数字.小数点的位置和数字的范围),还好测试用例也没有过于丰富的想象 需要注意当有效的数字个数为0 ...
- PAT甲题题解-1001. A+B Format (20)-字符串处理,水
计算A+B的和,并且按标准格式处理,每3个就要有个逗号 #include <iostream> #include <cstdio> #include <algorithm ...
- PAT甲级题解-1100. Mars Numbers (20)-字符串处理
没什么好说的,注意字符串的处理,以及当数字是13的倍数时,只需高位叫法的单词.比如26,是"hel",而不是"hel tret". 代码: #include & ...
- 【PAT乙级】 1014福尔摩斯的情书(20) [字符串处理]
题目 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了,字 ...
- PAT甲级题目翻译+答案 AcWing(字符串处理)
1001 A+B Format (20 分) 题意 :将整数转换成标准格式 思路 :从后往前遍历字符串进行模拟,每三个数字加一个逗号,但不能是在最前面加逗号,也不能是加在负号后面 #include & ...
- 【PAT甲级】字符串处理及进制转换专题
目录 字符串处理 PAT甲级 1001 A+B Format (20 分) PAT甲级1005 Spell It Right (20 分) PAT甲级1035 Password (20 分) PAT甲 ...
最新文章
- vector容器的用法
- @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不...
- Windows 2003系统下桌面清理向导
- R语言观察日志(part12)--关于.Rprofile文件
- 计算机网络常用知识笔记(超全面)!
- [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
- 交际过程的两个基本环节_要客品味 | 人际交往礼仪——交际礼仪的基本原则
- 语音识别技术发展史与行业最佳实践全解析
- web网页打印设计的CSS样式
- linux考试试题及答案填空题,Linux认证考试试题及答案(20210511022419)
- 性能调优分析之:Oracle SQL执行计划报告生成器
- 小程序 版本管理使用教程
- 【CV】ShuffleNet:通过 GroupConv 和 ChannelShuffle 实现轻量化 CNN 架构
- Unity3d编辑器的使用
- ep服务器修改时间,BIOS揭秘 手把手教你设置Nehalem平台
- codewars练习(javascript)-2021/3/23
- 三菱PLC GX Work2学习笔记
- Debian本地源的创建及应用
- ANDROID XML图像资源文件详细讲解(一)
- Lamdba及DataTable AsEnumerable()的使用
热门文章
- Flink Forward Asia 2021 延期,线上相见
- 揭秘!开源软件背后的神秘组织
- Picasso,Glide,Fresco对比分析
- 跳槽到新公司,我直接让项目的性能提升了一半。。。
- SurfaceView浅析
- 科学计数怎么转换成数字_勒夫迈 | 激光尘埃粒子计数器传感器工作原理
- boot spring 获取请求端口浩_Spring boot 无端口模式启动
- html前沿技术网页,HTML5新技术给网站带来了哪些改变
- java kafka spring_Kafka——Spring集成Kafka
- go语言项目目录文件的管理样式