ZZULIOJ题解
1083: 数值统计(多实例测试)
题目描述
统计给定的n个数中,负数、零和正数的个数
输入
输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。
输出
对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。
样例输入
6 0 1 2 3 -1 0
5 1 2 3 4 0.5
0
样例输出
1 2 3
0 0 5
多实例测试的形式,熟悉下代码结构。难度不大,循环加条件复合考察。
代码
#include<stdio.h>
int main()
{
double x;//定义实数x
int i,n,z,f,l;//定义循环变量i,每次循环次数n,正数z,负数f,零l
while(scanf("%d",&n),n!=0)
{
z=0,f=0,l=0;//初始化每次数值统计0
for(i=1;i<=n;i++)
{
scanf("%lf",&x);//键盘输入x的值
if(x>0)//如果x是正数
z++;
if(x<0)//如果x是负数
f++;
if(x==0)//如果x等于0
l++;
}
printf("%d %d %d\n",f,l,z); //输出负数、零、正数的数值
}
return 0;//程序正常结束
}