这个程序查询结果是不是可以理解为:先计算次数出现最多的,在出现次数相等的情况下,数值最大的?
因为这个问题是有矛盾的,出现次数最多的不一定数值最大
用c++写的,思路都在,vb很久没有用了。不想去看了。希望思路对你有用
#include<iostream.h>
void main()
{
int a[100],b[100]={0}; //数组a中存放输入的整数,数组b中存放对应整数出现的次数(a[i]中整数出现的次数放在b[i]中
int m=0,n,x,k,maxa,maxb;
cout<<"请输入整数个数:"<<endl;
cin>>n;
for(int i=0;i<n;i++) //该循环将输入n 个整数
{
cin>>x;
for(int j=0;j<m;j++) //每输入一个数与当前a[i]数组进行比较,看该数是否存在,若存在则对应b[i]累加。并且跳出循环
{
if(a[j]==x)
{
b[j]++;
break;
}
}
if(j==m)//当j=m表名当前输入的数据a中不存在,所以将其插入数组a中,并接对应b[i] 计数;
{
m++;
a[m]=x;
b[j]++;
}
}
maxa=a[0];maxb=b[0];
for( i=1;i<m;i++) //该循环求数组a,b中最大值得到最后结果
{
if(a[i]>maxa)maxa=a[i];
if(b[i]>maxb){maxb=b[i];k=i;}
}
cout<<"n个数中出现次数最多的数是"<<a[k]<<"出现的次数为:"<<b[k]<<endl;
cout<<"n个数中最大的数是"<<maxa<<endl;
}
温馨提示:答案为网友推荐,仅供参考