大家好,今天小编关注到一个比较有意思的话题,就是关于c语言获取数组个数的问题,于是小编就整理了3个相关介绍c语言获取数组个数的解答,让我们一起看看吧。
r语言统计数组的个数?
> x<-matrix(c(1,1,2,1,2,3,4,1),4,2) > x [,1] [,2] [1,] 1 2 [2,] 1 3 [3,] 2 4 [4,] 1 1 > length(which((x[,1]==1))) [1] 3 > length(which((x[,2]==1))) [1] 1 #x[,1]==1判断是否为1,返回True或False # which((x[,1]==1))返回为True的行号 #length(which((x[,1]==1)))返回为True的行数,即1的个数
C语言中返回数组元素个数?
sizeof(a)的值是在编译时刻确定的,所以你在程序里面这样来做:
int a[] = {1, 2, 3, 4, 5};
int len = sizeof(a)/sizeof(a[0]);
那么没有问题,可以正确的得出数组的长度,因为这个时候在编译时刻可以很容易的知道a有5个元素。
但是你把int a[]作为参数传递到函数里面,编译时刻无法得知你要传送什么样的参数进去,所以这个时候实际上是把a当作一个int 指针处理的,那么sizeof(a)实际上是指针的大小,这个在32位系统上是4,而a[0]是一个整数,sizeof(a[0])在32位系统上的的大小也是4,所以就是1了。
怎样计算数组元素的个数?
countif(range,criteria)是条件计数函数,第一个参数是数据区域,第二个参数是条件,函数返回的是数据区域中满足条件的数据的个数。
1.先用普通函数进行运算,我们输入函数=countif(A1:B7,C1),计算的是A1:B7内=C1的数据的个数,A1:B7中等于1的个数是4个,所以此函数返回的结果是4;
2.再用一维数组进行运算,选中F1:F7单元格,输入函数=countif(A1:B7,C1:C7),ctrl+shift+enter输入,计算的是A1:B7内分别等于C1、C2...C7的数据的个数,所以此函数返回的结果是7个数据,也就是一维数组{4;4;2;2;4;4;2};
3.再用二维数组进行运算,选中F1:G7单元格,输入函数=countif(A1:B7,C1:D7),ctrl+shift+enter输入,计算的是A1:B7内分别等于C1、C2...C7、D1、D2...D7的数据的个数,所以此函数返回的结果是14个数据,也就是二维数组{4,4;4,4;2,2;2,2;4,4;4,4;2,2};
4.这里说下在数组内逗号和分号的作用,逗号代表行维度,比如{1,2,3,4}在excel里面是1行4列,分号代表的是列维度,比如{4;4;2;2;4;4;2}在excel里面是7行1列;
5.再看数组运算,选中F1:G7单元格,输入函数=1/countif(A1:B7,C1:D7),就=1/{4,4;4,4;2,2;2,2;4,4;4,4;2,2},数组与常量进行加减乘除运算,是数组内的每个元素与常量进行加减乘除运算,返回的结果是{0.25,0.25;0.25,0.25;0.5,0.5;0.5,0.5;0.25,0.25;0.25,0.25;0.5;0.5};
6.进行就和运算,选中F1单元格,输入函数=sum(1/countif(A1:B7,C1:D7)),就=sum({0.25,0.25;0.25,0.25;0.5,0.5;0.5,0.5;0.25,0.25;0.25,0.25;0.5;0.5}),返回的结果为5。
如果还有疑问,可以回复哈,再帮忙解答~
如果解决了问题,帮忙给个赞和关注哈~
到此,以上就是小编对于c语言获取数组个数的问题就介绍到这了,希望介绍关于c语言获取数组个数的3点解答对大家有用。