栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 算术平均数及几何平均数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 算术平均数及几何平均数

偷偷拿来记录一下萌新的cs路——day 16 夏季学期计算机程序设计实训 

描述
给定一系列双精度浮点型数据,计算其项数、算术平均数和几何平均数。

 输入
输入数据有若干行。每行上有若干个(不超过20个)双精度浮点型数据,对应一种情形。

输出
对于每一种情形,先输出"Case #: "(#为序号,从1起),然后参照输出样例输出数据的项数、算术平均数、几何平均数(保留2位小数)。 

样例输入1
- 1 2 - 3 4 - 5
- 1 2 - 3 4
- 1 2 3 4
样例输出1
Case 1: (5), -0.60, -2.61
Case 2 : (4), 0.50, 2.21
Case 3 : (4), 2.00, none 

#include
#include
#include
#include
#include
using namespace std;

int main() {
	string str;
	int x, n = 0, k = 0;
	double sum, product;

	while (getline(cin, str)) {
		istringstream istr(str);
		sum = 0;
		n = 0;
		product = 1;
		while (istr >> x) {
			sum += x;
			product *= x;
			n++;
		}

		double avegs = sum / n;  //计算代数平均数

		cout << "Case " << ++k << ": "
			<< "(" << n << "), "
			<< fixed << setprecision(2) << avegs << ", ";

		if (product > 0) {  //计算几何平均数
			double avergj = pow(product, (double)1 / n);
			cout << fixed << setprecision(2) << avergj << endl;
		}
		else if (n % 2 == 1) {
			double avergj = pow(-1 * product, (double)1 / n);
			cout << fixed << setprecision(2) << -1 * avergj << endl;
		}
		else {
			cout << "none" << endl;
		}
	}
	return 0;
}

  以后学了更多知识还会回来更新的!有误之处恳请大佬们指正,提前感谢!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997273.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号