C++统计数组中数字出现的次数

一个整形数组,每个元素都是不超过两位数的正整数。编程统计该数组全部元素中数字0,1,2.。。。9个出现多少次?

用一个数组接收数据,使用for循环来输入数据,如果要统计某个数出现的次数并得到单数双数的个数,设置计数器,再用一个循环来遍历数组并判断。

int a[9];
int i=0,j=0,k=0
for(;i<=9;)
{
scanf("%d",&a[i++]);

}
for(;j<=9;)
{
if(a[j++]%2==1)
{

printf("odd\t");

k++;

}

else printf("even\t");

}
printf("%dodd,%deven"k,9-k);

大概就是这样了,应该没什么问题,其实主要就是一个遍历的过程,一个循环就可以了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-16
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int cnt1=0;
int cnt2=0, cnt3=0, cnt4=0, cnt5=0, cnt6=0, cnt7=0, cnt8=0, cnt9=0, cnt0=0;
int c[30]={1, 2, 3, 4, 5, 4, 3, 3, 5, 2, 6, 2, 4, 3, 5, 4, 2, 1, 7, 1};
for(int i=0;i<20;i++)
{
switch(c[i]){
case 1:
++cnt1;
break;
case 2:
++cnt2;
break;
case 3:
++cnt3;
break;
case 4:
++cnt4;
break;
case 5:
++cnt5;
break;
case 6:
++cnt6;
break;
case 7:
++cnt7;
break;
case 8:
++cnt8;
break;
case 9:
++cnt9;
break;
case 0:
++cnt0;
break;

}
}
cout << "1出现的次数:" << cnt1 << endl ;
cout << "2出现的次数:" << cnt2 << endl ;
cout << "3出现的次数:" << cnt3 << endl;
cout << "4出现的次数:" << cnt4 << endl ;
cout << "5出现的次数:" << cnt5 << endl ;
cout << "6出现的次数:" << cnt6 << endl ;
cout << "7出现的次数:" << cnt7 << endl ;
cout << "8出现的次数:" << cnt8 << endl ;
cout << "9出现的次数:" << cnt9 << endl ;
cout << "0出现的次数:" << cnt0 << endl;

system("PAUSE");
return EXIT_SUCCESS;
}本回答被提问者采纳
第2个回答  2009-05-16
#include<iostream>

using namespace std;

int main()
{
int data[] = {1,1,1,1,1,1,2,2,3,3,4,4,5,6,7,7,8,8,9,9,9,0} ;// 原本的数组
int one = 0,
two =0,
three = 0,
four = 0,
five = 0,
six = 0,
seven = 0,
eight = 0,
nine = 0,
zero = 0;
int i = sizeof data/sizeof data[0];
while(i>=0)
switch(data[i--])
{
case 1:
one++;
break;
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
case 5:
five++;
break;
case 6:
six++;
break;
case 7:
seven++;
break;
case 8:
eight++;
break;
case 9:
nine++;
break;
case 0:
zero++;break;
default:
break;
}
cout<<"\none="<<one
<<"\ntwo="<<two
<<"\nthree="<<three
<<"\nfour="<<four
<<"\nfive="<<five
<<"\nsix="<<six
<<"\nseven="<<seven
<<"\neight="<<eight
<<"\nnine="<<nine
<<"\nzero="<<zero;
return 0;

}
第3个回答  2009-05-16
int a[100];//假设为已知整型数组
int b[100];//用来存储统计结果
for(int i=0;i<100;i++)
b[i]=0;
for(i=0; i<100; i++)
{
b[a[i]]++;
}
第4个回答  2009-05-16
作业自己做吧

C++统计数组中数字出现的次数
用一个数组接收数据,使用for循环来输入数据,如果要统计某个数出现的次数并得到单数双数的个数,设置计数器,再用一个循环来遍历数组并判断。int a[9];int i=0,j=0,k=0 for(;i<=9;){ scanf("%d",&a[i++]);} for(;j<=9;){ if(a[j++]%2==1){ printf("odd\\t");k++;} ...

C++ count函数怎么用?
在 C++ 中,`std::count()` 函数用于计算在指定范围内某个特定值出现的次数。它位于 `<algorithm>` 头文件中,可以用于各种序列容器(如数组、向量、列表等)。以下是 `std::count()` 函数的基本用法:```cpp include <iostream> include <algorithm> include <vector> int main() { std::vec...

腾讯笔试题求助:c++数数的问题,比如一个数组112222555...如何统计不同...
a中元素都初始化为0,数组为array[],array中共有num个数,的话:int i;int count = 0;for(i = 0; i < num; i++){ if(array[i] > count) count = array[i]; a[array[i]-1][1]++;}for(i = 0; i < count; i++) a[i][0] = i+1; 无需排序 ...

C++ 统计数组中所有数中某数字出现的次数
给你写个想法,自己实现代码。你比如有个int类型的一维数组,里面有N个值。申请为int arr[N]。然后申请一个变量计时器int count=0;然后用for循环遍历此数组for(int j=0;j<arr.length;j++)。然后用if(arr[j]==你所想统计的某数字),count++,最后输出count,就是你获得的次数。不知道能看明白...

c++模板函数统计中统计一个数组里一组数相同数出现次数的函数
void traceResult(int iFound, vector<int>& v){ cout << "第" << iFound << "对相等的数字为:" << v[0] << ",且有" << v.size() << "个相等的数字。" << endl;}int _tmain(int argc, _TCHAR* argv[]){ vector<int> v; int input = 0; while (true) { cin ...

C++编程 给定一个数组,统计里面每一个数的出现次数。我们只统计到数组里...
} for(int i=1;i<n;i++){\/\/错误情况同理 if(sz[i+1]>sz[i]){ max=sz[i+1];} else{ max=sz[i];}\/\/获取最大值结束后,缺少一个}符号 for(int z=0;z<max;z++){ for(int i=1;i<=n;i++){\/\/数组下标起始错误 if(sz[i]==z){ sum=sum+1;} } printf("%d\\n",...

c++高手快帮忙:写一个函数,统计一个整数在一个数组里出现的次数
3, 4, 5, 6, 3, 2, 5, 6, 7, 3, 4};cout << count(arr, arr+sizeof(arr)\/sizeof(arr[0]), 4\/*改成其它数*\/) << endl;} --- 非要写函数么?用stl里面的count吧:include <algorithm> count(arr, arr+sizeof(arr)\/sizeof(arr[0]), value);...

用C++实现统计一个数组中元素重复出现的次数
include <iostream> using namespace std;int main(void) { int a[10],b,cnt=0;for (int i=0;i!=10;i++) \/\/输入这个数组的各个元素 cin>>a[i];cin>>b;\/\/输入需要统计次数的数字 for (int i=0;i!=10;i++)\/\/统计 cnt+=a[i]==b?1:0;cout<<cnt<<endl;\/\/输出统计结果...

c++ 输入n个数 找出现次数最多的那个数
根据所输入的范围n建立一个一维数组a[n],n不能是变量.必须是常量或者常数.先由规定的范围建立一个数组.然后输入了x数字就对应a[x]=a[x]+1,输入完毕后,然遍历整个数组找到最多的就行了.并不难的.

C++怎样输出一个数组中出现频率最高的元素及其出现次数?
size].count=c;size++;if(c>maxcount){ maxcount=c;} } } for(i=0;i<len;i++){ cout<<arr[i]<<" ";if(0==(i+1)%10){ cout<<endl;} } cout<<"这个数组中,出现次数最多的元素是:"<<endl;for(i=0;i<size;i++){ if(maxcount==ptelecount[i].count){ ...

相似回答