想计算一维数组中的某个数的个数,但是本人的数组在主程序中是计算得到的并不是可以初始化得出的,不知该怎么做啊?下面的程序可以实现初始化的数组求取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
//