c语言 输入n个整数(n<50) 存入一维数组,统计其中的 正数,负数和零的个数,输出统计结果。

编写程序, 输入n个整数(n<50) 存入一维数组,统计其中的 正数,负数和零的个数,输出统计结果。

要求: 用自定义函数count完成按要求统计, 在主函数里完成输入n个数和输出统计结果。

自定义函数原型:

void count(int a[], int n, int *pz, int *pf, int *pl);
主函数:

int main()

{ int a[50], n, positive, negative , zero ;

     scanf(“%d”, &n);

     //读入n个数

    //调用函数,统计其中的 正数,负数和零的个数

    //输出统计结果

 return 0;

}

如果问题得到解决,请点我回答左上角的采纳,谢谢

#include <stdio.h>
void count(int a[], int n, int *pz, int *pf, int *pl)
{
*pz = 0;
*pf = 0;
*pl = 0;
for (int i = 0; i < n; i++)
{
if (a[i] > 0)
*pz = *pz + 1;
if (a[i] == 0)
*pl = *pl + 1;
if (a[i] < 0)
*pf = *pf + 1;
}
}

int main()

{ int a[50], n, positive, negative , zero ;

     scanf(“%d”, &n);

     //读入n个数
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
    //调用函数,统计其中的 正数,负数和零的个数
count(a, n, &positive, &negative, &zero);
    //输出统计结果
printf("正 %d, 负 %d, 零 %d",positive , negative, zero);
 return 0;
}