|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式:
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。
输出格式:
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
输入样例:
10 3 2 -1 5 3 4 3 0 3 2
输出样例:
3 4- #include<stdio.h>
- int main()
- {
- int count[1000];
- int jishu[1000];
- char c=0;
- int k=0;
- int save=0;
- for(int i=0;c!='\n';i++)
- {
- scanf("%d",count+i);
- c=getchar();
- k++;
- }
- for(int i=0;i<k;i++)
- {
- save=0;
- for(int j=0;j<k;j++)
- {
- if(count[i]==count[j])
- {
- save++;
- }
- }
- jishu[i]=save;
- }
- int max=jishu[0];
- int j=0;
- for(int i=0;i<k;i++)
- {
- if(max<jishu[i])
- {
- max=jishu[i];
- j=i;
- }
- }
- printf("%d %d",count[j],jishu[j]);
- }
复制代码
- #include <stdio.h>
- int main(void)
- {
- int c , d[200] , e[200] , h[200] , i , j , k , n ;
- for(c = n = 0 ; c != '\n' ; n ++) scanf("%d%c" , & d[n] , & c) ;
- for(c = i = 0 ; i < n ; i ++) {
- for(j = 0 ; j < c ; j ++) if(d[i] == e[j]) break ;
- if(j == c) e[c ++] = d[i] ;
- }
- for(i = 0 ; i < c ; i ++) h[i] = 0 ;
- for(i = 0 ; i < n ; i ++) for(j = 0 ; j < c ; j ++) if(d[i] == e[j]) h[j] ++ ;
- for(k = 0 , i = 0 ; i < c ; i ++) if(h[i] > h[k]) k = i ;
- printf("%d %d\n" , e[k] , h[k]) ;
- }
复制代码
编译运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x x.c
- D:\[00.Exerciese.2022]\C>x
- 10 3 2 -1 5 3 4 3 0 3 2
- 3 4
- D:\[00.Exerciese.2022]\C>
复制代码
|
|