要求
编写算法,输入n个整数存入一维数组,统计输出其中的正数、负数和零的个数。
代码
#include<stdio.h>
#include<stdlib.h>
int input(int a[])
{
int n=0;//输入数据的个数
// 请在下面添加代码实现数据的输入,将输入的数据存放在数组a中
// ********** Begin **********
char c;
int m;
do
{
scanf("%d",&m);
a[n]=m;
c = getchar();
n++;
}
while(c==',');
// ********** End **********
return n;
}
/*
* 该函数用来统计数组a中正数、负数、零的个数
* 正数、负数、零的个数分别存放在b[0],b[1],b[2]中
* n: 数组a中存放的是数据的个数
*/
void process(int a[],int n,int b[])
{
// 请在下面添加代码,统计数组a中正数、负数、零的个数
// ********** Begin **********
int f=0,s=0,d=0,i;
for(i=0;i<n;i++)
{
if(a[i]>0)
f++;
else if(a[i]<0)
s++;
else
d++;
}
b[0]=f;
b[1]=s;
b[2]=d;
// ********** End **********
}
测试
测试输入:
1,2,3,0,0,0,4,5,6
预期输出:
正数的个数为6,负数的个数为0,零的个数为3