mdsk.net
当前位置:首页 >> 求C语言代码:给定n个正整数,找出它们中出现次数最多的数。 >>

求C语言代码:给定n个正整数,找出它们中出现次数最多的数。

#include int main( ){ int n,i,x,j=1,a[1001]={0};scanf("%d",&n);for(i=1;ia[j])j=i;printf("%d\n",j);return 0;}

#include "stdio.h"int main(){ int a[] = { 1, 5, 6, 6, 5, 33, 4, 5, 10, 5, 4, 5, 6, 7, 8, 9, 5, 8, 100, 5, 555, 5, 123 }; int i,j; int y=0,c=0,l=0; for (i = 0; i <sizeof(a)/sizeof(int); i++) { for (j = 0; j <sizeof(a) / sizeof(int); j++) { if (a[i] == a[j]) y++; } if (c < y) { c = y; l = a[i

马上想到以下方法实现:1. 排序,然后统计2. hash映射统计 考虑到排序的时间复杂度一般为O nlg(n),所以还是牺牲一定的空间换时间复杂度为O (1)的.当然,如果空间比时间宝贵的话,建议用第一种.或者你自己愿意试一下,这里给出第二个

#include <stdio.h> int main() { int n = 12; int arr[12] = {0,0,1,1,3,1,2,2,2,3,3,3}; //这两句你自己改成键盘输入 int k = 0; int kMax = 0; int m = -2013; //这个数用来作判断是否检查过,同时作为最终结果输出 for (int i=0; i<n; i++) { if (arr[i] != m) { //已

int main() { int n; cin >> n; int a[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };//0-9共10个数字,存储每个数字的频数 int temp; for (int i = 1; n > 0; i++) { temp = n % 10;//取出第i位 a[temp]++; n = n / 10; } int max = a[0], flag = 0;//max记录最大的频数,flag记录位

#include<stdio.h>int main(){ int a[10010]={0},i,j,k,kind,max; while(~scanf("%d",&k)){ for(i=0;i<k;i++){ scanf("%d",&kind); a[kind]++; } max=0; for(i=1,j=0;i<=10000;i++){ if(a[i]>max){ max=a[i]; j=i; } else if(a[i]==max){ if(i<j) j=i; } } printf("%d\n",j); } return 0; }

main.c getword.h getword.c list.h list.c main.c#include <stdio.h>#include <stdlib.h>#include "list.h"#include "getword.h" int main() { char s[20];//这里假设最大的单词长20, //要更改长度同时也要更改list.c中struct 里面的长度 //这里假设单词只

分两步1 统计每个数出现的次数. 2 找出次数最大值.建议可以使用一个辅助数组 来进行统计.

#include<stdio.h>void main(){ int a[100],i,j,t,c,tc,n,pos; printf("请输入n的值:"); scanf("%d",&n); printf("请输入%d个整数:",n); for(i=0;i<n;i++) scanf("%d",&a[i]); c=0;t=a[0];//初始化 for(i=0;i<n-1;i++) { for(tc=1,j=i+1;j<n;j++

循环判断,遇到哪个数字就给哪个数字的个数加一,完了以后判断哪个最多就输出哪个.

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com