c++ 每日一练 day7
2018-01-31 22:21
232 查看
题目
#if 0 3.建立一个类ARRAY,求一维数组中各元素的最大值、最小值和平均值。具体要求如下: (1)私有数据成员 float data[10]:存储待处理的数组元素。 float max:存储数组中元素的最大值。 float min:存储数组中元素的最小值。 float average:存储数组中元素的平均值。 (2)公有成员函数 init(float a[10]):初始化数组data。 void process():将数组data中的最大值、最小值和平均值分别存入max、min、average中。 void print():屏幕输出数组中各元素(每行输出5各元素)及其最大值、最小值和平均值。 (3)在主函数中定义一个具有10个元素的数组a,其初值为 { 3.0, 4, 5, 2, 1, 10, 5.5, 7.5, 8, 9 }。定义一个ARRAY类的对象arr,并用a数组初始化该对象。 通过arr调用成员函数,求出并输出结果。本程序正确的输出结果为: 3 4 5 2 1 10 5.5 7.5 8 9 max = 10 min = 1 average = 5.5 #endif
代码
#include <iostream> using namespace std; class ARRAY { public: void init(float a[10]); void process(); void print(); private: float data[10]; float max; float min; float average; }; void ARRAY::init(float a[10]) { for (int i = 0; i < 10; i++) { data[i] = a[i]; } } void ARRAY::process() { float tmp[10] = { 0 }; for (int i = 0; i < 10; i++) { tmp[i] = data[i]; } for (int i = 0; i < 10; i++) { for (int j = i + 1; j < 10; j++) { if (tmp[i] > tmp[j]) { float temp = tmp[i]; tmp[i] = tmp[j]; tmp[j] = temp; } } } max = tmp[9]; min = tmp[0]; float sum = 0.0; for (int i = 0; i < 10; i++) { sum += data[i]; } average = sum / 10; } void ARRAY::print() { for (int i = 0;i < 10; i++) { cout << data[i] << " "; if ((i + 1) % 5 == 0) cout << endl; } cout << "max = " << max << endl; cout << "min = " << min << endl; cout << "average=" << average << endl; } int main() { float a[10] = { 3.0, 4, 5, 2, 1, 10, 5.5, 7.5, 8, 9 }; ARRAY arr; arr.init(a); arr.process(); arr.print(); return 0; }
相关文章推荐
- C++每日一题「剔除关系数」
- C++每日一课(十七)
- C++每日一练(I/O)
- C++每日一课(一)
- C++基础知识day7(上)
- C++每日一课(十五)
- C++每日一练(STL算法——for each)
- C++调用Java(借助JNI技术实现每日登陆的实现)
- C++每日一课(四)
- 【2014年12月5日】【每日一问】在C/C++语言中,typedef和#define有什么区别?
- 初学C和C++每日笔记 求个大神指点指路
- C++每日一课(三)
- c++基础知识day7(中) 2018年03月23日 14:44:49 4人阅读 评论
- C++每日一课(五)
- C++每日一课(七)
- C++ 基础面试, 每日一点
- C++每日一课(十一)
- C++每日练笔之扩展随机数函数
- C++每日练笔之字符串连接函数
- C++每日练笔之日期类(基类)