算法训练 出现次数最多的整数

整数超出int范围了,改成字符型判断才过了。

时间限制:1.0s   内存限制:512.0MB

  问题描述
  编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
  输入格式:第一行是一个整数N,N? £? 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
  输出格式:输出只有一行,即出现次数最多的那个元素值。
  输入输出样例

样例输入

5
100
150
150
200
250

样例输出

150

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    char a[30][30];
    int n,ans,max,i,sum;
    max=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
       scanf("%s",&a[i]);
        sum=1;
       for(i=0;i<n;i++)
       {
           if(strcmp(a[i],a[i+1])==0)
           {
               sum++;

           }
           else
           {
               if(max<sum)
                  {
                      max=sum;
                      ans=i;

                  }
                sum=1;
           }
       }
     printf("%s\n",a[ans]);
    return 0;
}
时间: 2024-12-12 02:03:33

算法训练 出现次数最多的整数的相关文章

蓝桥杯算法训练 出现次数最多的整数、

很简单,但有一个坑点,题目说了n是大于0且不超过20的整数: 但它的第六.七组数据n<0 n>20;所以加个判断就能过了: 下面是两种方法: #include<iostream> #include<map> using namespace std; int main() { int n;cin >> n; if(n>0&&n<=20) { map<int,int>p; int m; for(int i=0;i<n

20-算法训练 出现次数最多的整数

http://lx.lanqiao.cn/problem.page?gpid=T222 算法训练 出现次数最多的整数 时间限制:1.0s   内存限制:512.0MB 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值. 输入格式:第一行是一个整数N,N? £? 20:接下来有N行,每一行

出现次数最多的整数

1 #include<stdio.h> 2 3 int main() 4 { 5 int i,j; 6 int n; //用于记录要输入的整数的个数 7 int a[20]; //用于存储输入的n个整数 8 int max_num_int; //用于记录出现次数最多的整数 9 int max_num; //用于记录 max_num_int 的出现次数 10 11 //输入 12 scanf("%d",&n); //要输入的整数的个数 13 14 if(n>0&

蓝桥杯--求出现次数最多的整数。

#include <iostream>#define Size 20using namespace std;int main(){    int n;int i=0;    int arr[Size]={0};int maxlen=1;int len=1;int loc=0;    cin>>n;    if(n<=0||n>20)    return 0;    for(i=0;i<n;i++){        cin>>arr[i];    }  

出现最多的整数

算法训练 出现次数最多的整数 时间限制:1.0s   内存限制:512.0MB 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值. 输入格式:第一行是一个整数N,N? £? 20:接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列. 输出格式:输出只有一行,即出现次数最多的那个

数组-10. 求整数序列中出现次数最多的数

数组-10. 求整数序列中出现次数最多的数(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 张彤彧(浙江大学) 本题要求统计一个整型序列中出现次数最多的整数及其出现次数. 输入格式: 输入在一行中给出序列中整数个数N(0<N<=1000),以及N个整数.数字间以空格分隔. 输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔.题目保证这样的数字是唯一的. 输入样例: 10 3 2 -1 5 3 4 3

数组-10. 求整数序列中出现次数最多的数(15)

本题要求统计一个整型序列中出现次数最多的整数及其出现次数. 输入格式: 输入在一行中给出序列中整数个数N(0<N<=1000),以及N个整数.数字间以空格分隔. 输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔.题目保证这样的数字是唯一的. 输入样例: 10 3 2 -1 5 3 4 3 0 3 2 输出样例: 3 4 #include <stdio.h> #define N 1000 int comp(const void *p, const void *

7-6 求整数序列中出现次数最多的数 (15 分)

7-6 求整数序列中出现次数最多的数 (15 分) 本题要求统计一个整型序列中出现次数最多的整数及其出现次数. 输入格式: 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数.数字间以空格分隔. 输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔.题目保证这样的数字是唯一的. 输入样例: 10 3 2 -1 5 3 4 3 0 3 2 输出样例: 3 4 s = input().split()[1:] count_max = 0 for i in set(s

蓝桥杯算法训练&lt;一&gt;

一.图形显示[此题虽然简单,但是需啊哟注意的是,每个“*”后边有一个空格] 问题描述 编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数): * * * * * * * * * * * * * * * 1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner mScanner = new Scanner(System.