c++统计数字统计数字(count.pas/c/cpp)【问题描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并
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; ...
include <stdio.h>#include <stdlib.h>int func(int *a, int n, int v){int r = 0;int i;for(i = 0; i < n; i ++)if(a[i] == v) r ++;return r;}int main(){int *a, n, i, v;scanf("%d", &n);if(n>0){a = (int *) malloc(sizeof(int) * n);for(i...
printf("%d\n", k); } 运行结果: 第一行输入要输的元素个数,比如5 第二行输入 1 2 2 3 2,那么输出结果为3,因为2出现了3次 如下所示: 1 2 3 5 1 2 2 3 2 3
include <stdio.h> int main(void){ int a[10000] = {0};int n;int x;int i;int max=0;scanf("%d",&n);for(i = 0; i < n; i++){ scanf("%d",&x);a[x]++;} for(i = 0; i < 10000; i++){ if( a[max] < a[i])max = i;} printf("%d\n",max);} ...
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。 输入样例: 10 3 2 -1 5 3 4 3 0 3 2 输出样例: 3 4 1#include<stdio.h>2#defineN 10003//思路:使用两个数组,a[i] b[i],a[i]保存数据,b[i]保存每个数据出现的次数4//然后找到出现次数最多的b[...
问题可以说成是:对数数据N,在从1到N的所有数值中,各个数位上出现的1的次数的统计。这个问题的解决是按如下思路来的:1. 首先,统计的方式是从个位开始,依次统计个,十,百,千, ... ... 各个数位上的1的个数。2. 当统计完所有数据个位上的1的个数以后,我们还需要统计这些数据十位及以上...
void main(){ int n,i,max,x;int t=1;max=0;printf("Input n:\n");scanf("%d",&n);printf("Input %d numbers(0<numbers<100):\n",n);for(i=1;i<=n;i++){ scanf("%d",&x);if(max<x){ max=x;t=1;} else if(max==x)t++;} printf("Max is %d,for %d times\...
printf("数字 %d 出现的次数: %d\\n", i, count[i]); } return0; } 这段代码首先初始化了一个长度为10的数组count,然后读取输入的数字字符串,遍历字符串中的每个字符,如果是数字字符,则将相应的数组元素加1。最后,遍历数组,输出每个数字出现的次数。
int x,y,i,j,r,maxxy,n;int a[1000],b[1000],c[1000];r=0;scanf("%d",&n);for (i=1;i<=n;i++){ scanf("%d %d",&x,&y);for (j=1;j<=r;j++)if ((x==a[j])&&(y==b[j])) {c[j]++;break;} if (j>r) { r++;a[r]=x;b[r]=y;c[r]=1;} } ma...