zoukankan      html  css  js  c++  java
  • 1054 求平均值 (20 分)

    pat_1054.jpg

    #include <iostream>
    #include<string>
    #include<math.h>
    #include<ctype.h>
    #include<stdlib.h>
    using namespace std;
    string str[100];
    int n;
    bool check(string s) {
    	int i = 0;
    	if (s[i] == '-')i++;
    	for (;s[i] && s[i] != '.';i++) {
    		if (!isdigit(s[i])) {//判断字符是否为数字字符
    			return false;
    		}
    	}
    	if (s[i] == '.') {
    		for (int j = i + 1;s[j];j++) {
    			if (!isdigit(s[j]) || j - i > 2) {
    				return false;
    			}
    		}
    	}
    	double x = fabs(atof(&s[0]));//将字符串转换成浮点数
    	if (x > 1000) {
    		return false;
    	}
    	return true;
    }
    void solve() {
    	int count = 0;
    	double sum = 0;
    	for (int i = 0;i < n;i++) {
    		if (check(str[i])) {
    			count++;
    			sum += atof(&str[i][0]);
    		}
    		else {
    			cout << "ERROR: " << str[i] << " is not a legal number" << endl;
    		}
    	}
    	if (count == 0) {
    		cout << "The average of 0 numbers is Undefined" << endl;
    	}
    	else if (count == 1) {
    		printf("The average of 1 number is %.2lf
    ", sum);
    	}
    	else {
    		double y = sum / (double)count;
    		printf("The average of %d numbers is %.2lf
    ", count, y);
    	}
    
    }
    int main()
    {
    	cin >> n;
    	for (int i = 0;i < n;i++) {
    		cin >> str[i];
    	}
    	solve();
    	return 0;
    }
    
    

    参考博客:https://blog.csdn.net/hy971216/article/details/80653566

  • 相关阅读:
    day4递归原理及实现
    day4装饰器
    day4迭代器&生成器&正则表达式
    open()函数文件操作
    Python中的内置函数
    function(函数)中的动态参数
    copy深浅拷贝
    collections模块
    set集合
    字典dict常用方法
  • 原文地址:https://www.cnblogs.com/chance-zou/p/10455222.html
Copyright © 2011-2022 走看看