读书人

入门级程序设计菜鸟请问!

发布时间: 2012-03-13 11:21:11 作者: rapoo

入门级程序设计,,,,初学者请教!!!
实现从键盘输入n(0 <n <100)个整数,统计并输出;
其中出现次数最多的整数;
最大的整数及其出现的次数;

[解决办法]
int main()
{
map <int, unsigned int> mapObj;
map <int, unsigned int> ::iterator ite = mapObj.begin();
cout < < "Please enter num : ";
int i = 0;

while (cin > > i)
{
ite = mapObj.find(i);
if (ite != mapObj.end())
{
(ite -> second) ++;
}
else
{
mapObj.insert(make_pair(i, 1));
}
}

ite = mapObj.begin();
int maxTimesValue = ite -> first;
for (; ite != mapObj.end(); ++ ite)
{
if ((ite -> second) > (mapObj.begin() -> second))
{
maxTimesValue = ite -> first;
}
}

cout < < "the max times : " < < maxTimesValue < < endl;

cout < < "the max value : " < < mapObj.rbegin() -> first < < " the times is : " < < mapObj.rbegin() -> second < < endl;

return 0;
}

用ctrl + z中止键入数据,即可以,okokok
[解决办法]
map是库函数吗?如果是,对于俺们这新手。。。还是个过程。。
回去学好了,俺们再回来。。。

[解决办法]
#include <iostream>
#include <vector>
using namespace std;

void swap(int m,int n)
{
if(m > n)
{
n = m;
}
}
int getmaxnum(int i_maxnum,vector <int> vec_p)
{
int num = 0;
for(int i = 0;i!=vec_p.size();i++)
{
if(i_maxnum == vec_p[i])
num++;
}
return num;

}

void main()
{
vector <int> i_tmp;
int i,p;
while(cin> > i)
{
if(i == 0)
break;
i_tmp.push_back(i);
}
for(int j = 0;j < i_tmp.size(); j++)
{

swap(i_tmp[j],i_tmp[j+1]);

}
p = getmaxnum(i_tmp[i_tmp.size()-1],i_tmp);

cout < < "the large number: " < <i_tmp[i_tmp.size()-1] < <endl;
cout < < "个数: " < <p < <endl;
}
写的有点粗糙
[解决办法]
#include <map>
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int n;
cout < < "How many numbers: ";
cin> > n;

int i, num;
map <int, int> intmap;
map <int, int> ::iterator it;
for(i=0; i <n; i++)
{
cout < < "input " < <i+1 < < "th num: ";
cin> > num;
it=intmap.find(num);
if(it != intmap.end())
it-> second++;
else
intmap.insert(make_pair(num, 1));
}
cout < <endl < < "Result: " < <endl;
for(it=intmap.begin(); it!=intmap.end(); it++)
num=it-> first,cout < < "num= " < <it-> first < < ", count= " < <it-> second < <endl;
cout < < "The MAX number is " < <num < < ", count= " < <(intmap.find(num))-> second < <endl;
system( "pause ");
return 0;
}

读书人网 >C++

热点推荐