1108. Finding Average (20) 字符处理
来源:互联网 发布:成都云计算公司排名 编辑:程序博客网 时间:2024/05/01 03:25
题目地址
https://www.patest.cn/contests/pat-a-practise/1108
ac
#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>#include <string>#include <vector>#include <queue>#include <algorithm>#include <sstream>#include <list>#include <stack> #include <map> #include <set> #include <iterator> #include <unordered_map>using namespace std;const int INF = 0x7fffffff;typedef long long int LL;const int N = 1000 + 5;int n;bool isLegal(string s, double &d){ int len = s.size(); int dotCnt = 0; int dotAfter = 0; for(int i=0;i<len;i++) { if(s[i] == '.') { dotCnt ++; if(dotCnt > 1) return false; }else if(s[i] == '-' || s[i] == '+') { if(i != 0) return false; }else if(s[i] >= '0' && s[i] <= '9') { if(dotCnt == 1) { dotAfter ++; if(dotAfter > 2) return false; } }else{ return false; } } stringstream ss; ss << s; ss >> d; if( d >= -1000.00 && d <= 1000.00) return true; return false;}int main(){ //freopen("in.txt", "r" , stdin); while(scanf("%d", &n) != EOF) { int legalCnt = 0; double ans = 0.0; for(int i=0;i<n;i++) { string tmp; cin >> tmp; double d; bool flag = isLegal(tmp, d); if(flag) { legalCnt ++; ans += d; }else{ cout << "ERROR: " << tmp << " is not a legal number" << endl; } } if(legalCnt == 0) { cout << "The average of 0 numbers is Undefined" << endl; }else if(legalCnt == 1) { printf("The average of 1 number is %.2lf\n", ans); }else{ printf("The average of %d numbers is %.2lf\n", legalCnt, ans / (1.0*legalCnt)); } //printf("\n"); } return 0;}
0 0
- 1108. Finding Average (20) 字符处理
- 1108. Finding Average (20) 字符串处理
- 1108. Finding Average (20)[字符串处理]
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- 1108. Finding Average (20)
- PAT_A 1108. Finding Average (20)
- [pat]1108. Finding Average (20)
- react-native-sww-activity-indicator
- Linux环境进程间通信(二): 信号(上)
- Javascript模块化编程(一):模块的写法
- php,js端获取sessionid的方法
- PHP使用session完成注册登录后跳转到登录前一页码
- 1108. Finding Average (20) 字符处理
- 多项式输出
- 欢迎使用CSDN-markdown编辑器
- ActiveMQ教程(一)-安装
- Linux环境进程间通信(四)信号灯
- 从输入一个url后到页面加载完成都发生了什么
- density based clustering algorithm,
- 关于智能提示(intellisense)重复(aardio)
- 表格里全选按钮