统计一个数在数组中的出现的次数
例如数组 {1,2,11,13,24}1的出现次数为4
有什么办法能把一个个读取数组中的数吗? 本帖最后由 jackz007 于 2022-10-10 18:18 编辑
是这个意思?
#include <stdio.h>
int count(const int d[] , const int n , const int a)
{
int i , k , r ;
for(r = i = 0 ; i < n ; i ++) {
for(k = d ; k ; k = k / 10) {
if(k % 10 == a) r ++ ;
}
}
return r ;
}
int main(void)
{
int a[] = {1 , 2 , 11 , 13 , 24} ;
printf("%d\n" , count(a , 5 , 1)) ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
4
D:\\C> int a[] = {1 , 2 , 11 , 13 , 24},b={0} ;
for(int i=0;i<5;i+=1)
{
int num=a;
for(;num;num/=10)
{
b+=1;
}
}
for(int i=0;i<10;i+=1)
{
if(b)printf("%d:%d\n",i,b);
} jackz007 发表于 2022-10-10 17:57
是这个意思?
编译、运行实况:
请问这是用了count这个函数吗?
这个是已经有了的还是自己创的? 我要会学C语言 发表于 2022-10-10 20:27
请问这是用了count这个函数吗?
这个是已经有了的还是自己创的?
当然是自己写的,你这样的功能要求非常的少见,所以,不可能有现成的函数。 很简单 , 在参数中把这个数组传进来即可
jackz007 发表于 2022-10-10 20:38
当然是自己写的,你这样的功能要求非常的少见,所以,不可能有现成的函数。
感谢大佬,能简单说明一下这个函数吗? 柿子饼同学 发表于 2022-10-10 20:50
很简单 , 在参数中把这个数组传进来即可
我是初学者,不是太懂
参数是哪个? 我要会学C语言 发表于 2022-10-10 21:00
我是初学者,不是太懂
参数是哪个?
谁给你出的这个题目?
这个题目超出了你目前学到的知识
等你学完一遍C语言之后就能看懂上面的代码了
人造人 发表于 2022-10-10 21:04
谁给你出的这个题目?
这个题目超出了你目前学到的知识
等你学完一遍C语言之后就能看懂上面的代码了
这个应该是用到函数了吧,函数的内容我还没学 我要会学C语言 发表于 2022-10-10 21:09
这个应该是用到函数了吧,函数的内容我还没学
是的 本帖最后由 jackz007 于 2022-10-10 21:18 编辑
我要会学C语言 发表于 2022-10-10 20:59
感谢大佬,能简单说明一下这个函数吗?
1、这个函数
count(const int d[] , const int n , const int a)
总共接受 3 个输入参数,其中,d 是一个一维整型数组,用于传入需要统计的数组,整型数 n 是 d 中的元素数量,整型数 a 是需要统计的单位(1位)整型数,在本例中,a = 1;
2、在函数内,for 循环 n 次,利用索引 i 依次提取到 d 中的每一个元素,并赋值给整型变量 k,再安排内循环,以对 10 取余的方法,依次求取 k 每个位上的值,并判断这个值是否与目标值 a 相等,如果相等,就让计数器增加 1,这样,当函数结束的时候,就已经完成了对 d[] 中的 n 个元素中,目标值 a 的统计,最后,通过 return r,把这个统计值进行反馈。 jackz007 发表于 2022-10-10 21:15
1、这个函数
总共接受 3 个输入参数,其中,d 是一个一维整型数组,用于传入需要统计的数 ...
感谢大佬!懂了!{:10_323:}
页:
[1]