作业帮 > 综合 > 作业

编写程序:从键盘输入n(0<n<100)个整数,计算并输出其中出现次数最多且数值最大的元

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 10:38:24
编写程序:从键盘输入n(0<n<100)个整数,计算并输出其中出现次数最多且数值最大的元
用任意一种语言编写程序完成以下功能:从键盘输入n(0<n<100)个整数,计算并输出其中出现次数最多且数值最大的元素及其出现次数. 最好是VB语言,谢谢了!
这个程序查询结果是不是可以理解为:先计算次数出现最多的,在出现次数相等的情况下,数值最大的?因为这个问题是有矛盾的,出现次数最多的不一定数值最大 用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; }