概述
找出一组输入数据中最大和最小的数据。在一组数据中出现次数最多的数称为mode。要求:输入一组正整数,程序能够找出该组数据的mode。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<unsigned int> data;
unsigned int input; //捕获输入
unsigned int min = 0; //一组数据最小值
unsigned int max = 0; //一组数据最大值
unsigned int mode = 0; //一组数据出现次数最多的值
unsigned int count = 1; //当前数据出现的次数
unsigned int modeCount = 1; //一组数据出现最多的值的次数
cout << "输入一个正整数:";
while (cin >> input) { //ctrl + z退出循环
data.push_back(input);
if(data.size() == 1){
min = max = input;
}
if(input < min){
min = input;
}
else if (input > max) {
max = input;
}
}
for (int i = 0; i < data.size() - 1; ++i) { //先把向量中数据从小到大排序
for (int j = i+1; j < data.size(); ++j) {
if(data[i] > data[j]){
int temp;
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
mode = data[0]; //假设第一个数出现的次数最多
for (int i = 1; i < data.size(); ++i) {
if(data[i] != data[i -1]){
count = 1;
}
else {
count++;
if(count > modeCount){
mode = data[i];
modeCount = count;
}
}
}
cout << "modeCount=" << modeCount << endl;
cout << "mode=" << mode << endl;
cout << "max=" << max << endl;
cout << "min=" << min << endl;
return 0;
}
最后
以上就是务实黑米为你收集整理的《C++程序设计原理及实践》第四章 习题16的全部内容,希望文章能够帮你解决《C++程序设计原理及实践》第四章 习题16所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复