想计算一维数组中的某个数的个数,但是本人的数组在主程序中是计算得到的并不是可以初始化得出的,不知该怎么做啊?下面的程序可以实现初始化的数组求取3的个数,可本人计算得出的数组该怎么改这个程序啊?谢谢大家了!
int q[6]={5,2,0,0,6,1};
void xuan(int array[],int *a,int len)
{
int q[6]={5,2,0,0,6,1};
void xuan(int array[],int *a,int len)
{
*a=0;
for (int i=0;i<len;i++)
{
if (array[i]==3)
{
*a=*a+1;
}
}
}
void main()
{
int G3=0;
xuan(q,&G3,6);
cout<<G3<<endl;
}
解决方案:20分
#include <stdio.h> #include <malloc.h> #include <stdlib.h> int q[6]={5,2,0,0,6,1}; void xuan(int *array,int *a,int len) { *a=0; for (int i=0;i<len;i++) { if (array[i]==3) { *a=*a+1; } } } int main() { int G3=0; xuan(q,&G3,6); printf("%d\n",G3); int *p=new int[6]; p[0]=1; p[1]=1; p[2]=1; p[3]=3; p[4]=1; p[5]=1; xuan(p,&G3,6); delete[] p; printf("%d\n",G3); int *r=(int *)calloc(6,sizeof(int)); r[3]=3; xuan(r,&G3,6); free(r); printf("%d\n",G3); return 0; } //0 //1 //1 //