腾讯笔试题求助:c++数数的问题,比如一个数组112222555...如何统计不同数字各有多少个数?
数组元素个数不大于200个。(我已经先排序了,下一步数数不知道怎么弄。原题数组是打乱的,直接让求)1.要求:把不同的数字依次放入数组中,且统计出不同数字各有几个数。2.结...
数组元素个数不大于200个。(我已经先排序了,下一步数数不知道怎么弄。原题数组是打乱的,直接让求)1.要求:把不同的数字依次放入数组中,且统计出不同数字各有几个数。2.结果:把1放入a[0][0],2放入a[1][0],5放入a[2][0]中,且a[0][1]=2,a[1][1]=4;a[2][1]=3
也就是说把一堆数组中的不同的数统计出来,把不同的数放在一个二维数组的第一列,且也要把重复次数数出来放在二维数组的第二列。 展开
也就是说把一堆数组中的不同的数统计出来,把不同的数放在一个二维数组的第一列,且也要把重复次数数出来放在二维数组的第二列。 展开
2个回答
展开全部
1、这个题目不需要排序,这里假设:char *a="1231231231234";
2、申请一个 int shu[11] ; ,分别存放0 - 9 数字的个数
3、从头至尾,逐位开始遍历数组,这里以 i 作为数组的下标
4、遍历的过程中, shu[ a[ i] ] ++; 这样对统计赋值
结果是:1 = 4 、2 = 4 、 3 = 4 、4 = 1
5、不知道是不是描述清楚了,嘿嘿
#include<stdio.h>
int main()
{
int a[]={1,2,3,1,2,3,1,1,4,8,8,8};
int shu[12]={0};
int x;
for(x=0;x<12;x++)
shu[a[x]]++;
for(x=0;x<10;x++)
printf("统计输出 %d 出现 %d \n",x,shu[x]);
return 0;
}
更多追问追答
追问
非常感谢,但还有一些问题需要求教。
1,数组中的元素可以是不连续的,整个数列可以没有2,3等,
2.数组中的元素取值范围可以是0-100;
如果a[]={1,2,3,1,2,3,1,1,4,8,8,8};
希望输出的结果:第一列是不重复的数,第二列是重复的次数。
1 4
2 2
3 2
4 1
8 3
展开全部
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;
无需排序
更多追问追答
追问
统计出各个不同的数,假定数组有2个1,4个2,3个5,把不同的数字放在一列数组中(输出的结果这个数组没有重复的数字,只有1,2 ,5三个数),然后统计出重复的次数。。。你这样求不出结果吧,还是谢谢额、
追答
可以的啊 你把原始变量给我 我给你写出来 你可以去调试看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询