数值统计 C语言!!!

问题描述
统计给定的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()
{int n,z,f,l;float x;
 scanf("%d",&n);
 while(n>0)
 {for(z=f=l=0;n--;)
  {scanf("%f",&x);
   if(x>0)z++;
     else if(x<0)f++;
       else l++;
  }
  printf("%d %d %d\n",f,l,z);
  scanf("%d",&n);
 }
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-07
具体的语法我忘了,我给你说一个思想吧
print('请输入你统计的个数)
for (i,n,i+1)
input tmp -----把值tmp
int f[i]; ---负数集合
int z[i]; ----正数集合
int zsum,fsum; 求个数
if txp>0 then z[i]=tmp
if txp<0 then f[i]=tmp
end if
end for
for 输出本回答被网友采纳
第2个回答  2013-03-22
#include<stdio.h>
void main()
{
int n,x,a,b,c;
printf("请输入个数n,然后输入n个整数!");
scanf("%d",&n);
while(n!=0)
{
for(int i=0;i<n;i++)
{
scanf("%d",&x);
if(x<0) a++;
if(x==0) b++;
if(x>0) c++;
}
printf("%d","%d","%d",a,b,c);
printf("/n");
scanf("%d",&n);
}
}本回答被提问者采纳
第3个回答  2013-03-22
这个简单
相似回答