众数问题(为什么只能输入一组数据,不能输入m组数据)
描述
所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,
多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。
现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。
- 输入
- 第一行为n,表示测试数据组数。(n<30)
每组测试的第一行是一个整数m,表示多重集S中元素的个数为m
接下来的一行中给出m(m<100)个不大于10万的自然数
(不会出现不同元素出现的次数相同的情况,如:S={11,11,22,22,33,33})。 - 输出
- 每组测试数据输出一行,包含两个数,第一个是众数,第二个是其重数,中间以空格隔开。
- 样例输入
-
1
6
1 2 2 2 3 5 - 样例输出
-
2 3 我的程序:
#include<iostream>
#include<vector>
using namespace std;struct num
{
int value;
int count;
};int main()
{
int m;
vector<int>a;
vector<num>b;
cin>>m;
for(int i=0;i<m;i++)
{
int n;
cin>>n;
for(int j=0;j<n;j++)
{
int x;
cin>>x;
a.push_back(x);
}num c={0,0}; //表示0的个数
for(j=0;i<n;i++) //有错,i换成j
{
if(a[j]==0)
c.count++;
}for(j=0;j<n;j++)
{
int x=1; //表示a[j]出现的次数,因为比较时a[j]本身也算一次,所以x=1;
if(a[j]!=0)
{
for(int k=j+1;k<n;k++)
{
if(a[k]==a[j])
{
x++;
a[k]=0;
}
}if(x>c.count)
{
c.count=x;
c.value=a[j];
}a[j]=0;
}
}b.push_back(c);
a.clear();
}for(i=0;i<m;i++)
cout<<b[i].value<<" "<<b[i].count<<endl;return 0;
}#include<stdio.h>
int main()
{
int n,m,i,k,a[100],max,sum,j;
scanf("%d",&n);
while(n--)
{
sum=1;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
for(j=0,k=0;j<m;j++)
{
for(i=0;i<m;i++)
{
if(a[i]==a[j]) k++;
if(k>sum)
{
sum=k;
max=a[i];
}
}
k=0;
}
printf("%d %d\n",max,sum);
}
return 0;
}(正确解法)
众数问题(为什么只能输入一组数据,不能输入m组数据)的更多相关文章
- java从键盘输入一组数据,输出其最大值,平均值,最小值没法输出
总结::需要耐心,加思考.做事不思考,那就是白做徒劳!!!!! package com.aini; import java.util.Scanner; //操...为什么数组的大小比较我硬是搞不懂,比 ...
- 【C语言入门教程】3.2 数据的输入 与 输出
在程序的运行过程中,通常需要用户输入一些数据,而程序运算所得到的计算结果等又需要输出给用户,由此实现人与计算机之间的交互.所以在程序设计中,输入输出语句是一类必不可少的重要语句.在 C 语言中,没有专 ...
- SpaceSyntax【空间句法】之DepthMapX学习:第一篇 数据的输入 与 能做哪些分析
两部分,1需要喂什么东西给软件,2它能干什么(输出什么东西在下一篇讲) 博客园/B站/知乎/CSDN @秋意正寒 转载请在头部附上源地址 目录:https://www.cnblogs.com/onsu ...
- STM32输入捕获模式设置并用DMA接收数据
参考: STM32的PWM输入模式设置并用DMA接收数据 Input capture mode The input stage samples the corresponding TIx input ...
- POJ数据的输入输出格式
POJ在评阅习题时需要向程序提供输入数据,并获取程序的输出结果.因此提交的程序需按照每个习题具体的输入输出格式要求处理输入输出.有的时候,测评系统给出程序的评判结果是“数据错误”或“结果错误”,有可能 ...
- PAT IO-04 混合类型数据格式化输入(5)
/* *PAT IO-04 混合类型数据格式化输入(5) *2015-08-01 作者:flx413 */ #include<stdio.h> int main() { int a; fl ...
- 【C语言】输入一组整数,求出这组数字子序列和中最大值
//输入一组整数.求出这组数字子序列和中最大值 #include <stdio.h> int MAxSum(int arr[],int len) { int maxsum = 0; int ...
- IO-04. 混合类型数据格式化输入
/** *A4-IO-04. 混合类型数据格式化输入 *C语言实现 *测试已通过 */ #include "stdio.h" int main() { float m1,m2; i ...
- invalid types 'int[int]' for array subscript// EOF 输入多组数据//如何键盘输入EOF
数组维度搞错了 一次运行,要输入多组数据,直到读至输入文件末尾(EOF)为止 while(scanf("%d %d",&a, &b) != EOF) // 输入结束 ...
- html input验证只能输入数字,不能输入其他
html input验证只能输入数字,不能输入其他 此方法为借鉴别人的,在此只做记录. <input type="text" onkeyup="if(!/^\d+$ ...
随机推荐
- 百度地图 Android SDK - Hello Baidu Map
例如,给广大以下主要开发者介绍了如何使用百度地图Android SDK构造的主应用程序的地图! 第一步.创建Androidproject,将百度地图Android SDK的开发包导入到project对 ...
- the first has precedence, perhaps you need a NameVirtualHost directive
报错信息1: Starting httpd: [Fri May 19 11:49:42 2011] [warn] VirtualHost 127.0.0.1:80 overl aps with Vir ...
- Tsinghua dsa mooc pa1
第一题Range 关键:二分查找,查找不大于一个数的最大下标. #include <cstdlib> #include <cstdio> 4 int compare (cons ...
- 【递推+矩阵快速幂】【HDU2604】【Queuing】
Queuing Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- css float笔记
float 1.破坏性,让设置了float属性的元素脱离文档流 2.包裹性:div设置了float之后,其宽度会自动调整为包裹住内容宽度,而不是撑满整个父容器.如果没有包裹性,如何实现文字环绕(flo ...
- solr4.5分组查询、统计功能介绍
说到分组统计估计大家都不会陌生,就是数据库的group by语句,但是当我们采用solr4.5全文检索时,数据库提供再好的sql语句都没有任何的意义了,那么在solr4.5中我们如何做到分组统计呢?其 ...
- HTTP Status 404 - No result defined for action com.hebky.oa.classEntity.action.EntitysAction and result input
在开发中总遇到这个问题,No result defined for action:原因:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的Result,不能够 ...
- iOS开发之性能优化
1.避免过于庞大的XIB 当加载XIB的时候把所有的东西都放在了内存里,包括任何的图片:如果有一个不会即刻用到的view,就会浪费宝贵的内存资源了. 当加载一个引用了图片或者声音资源的nib时,nib ...
- Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 10 declared in library
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : uses-sdk: ...
- js cookies存取删操作实例
//写cookies函数 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days = 30; //此 cookie 将被保存 ...