解题思路:总的思路就是创建两个数组,一个储存输入数据,另一个储存每一个数据的重数(对每一个数据,即使值相同也要为数组的这个元素赋值,这样使得两个数组一一对应)
至于重数计算用一个循环就能解决了
之后用一个求最大值的循环结构在重数数组里求最大值(同时标记下标),最后再用一个条件语句使得在众数有多个时输出最小的
注意事项:当然用几个函数会使代码更简洁,但我懒得用了...
参考代码:
#include<iostream>
int main(){
using namespace std;
int n,i,j,k=0,h,sum=0;
int sigh,max;
cin>>n;
int * d = new int [n];
int * f = new int [n];
for(i=0;i<n;i++){
cin.get();
cin>>d[i];
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(d[i]==d[j]){
sum++;
}
}
f[k]=sum;
k++;
sum=0;
}
max=f[0];
for(h=1;h<k;h++){
if(f[h]>max){
sigh=h;
max=f[h];
}
else if(f[h]==max){
sigh=(d[sigh]<d[h]) ? sigh : h;
}
}
cout<<d[sigh]<<endl;
cout<<max<<endl;
k=0;
delete d;
delete f;
}
0.0分
3 人评分
简单编码 (C++代码)浏览:678 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1030 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1031 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:682 |
C语言训练-尼科彻斯定理 (C语言代码)浏览:465 |
C语言训练-数字母 (C语言代码)浏览:649 |
三角形 (C++代码)递推浏览:756 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:605 |
蚂蚁感冒 (C语言代码)浏览:1326 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:551 |