Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。
Output 对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。
Sample Input 6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0
Sample Output 1 2 3 0 0 5
Author lcy
Source C语言程序设计练习(二)
Recommend JGShining | We have carefully selected several similar problems for you: 2009 2010 2011 2014 2013 本道题要注意输入的类型不止是整型,还可能是浮点型。 在C/C++中,算数类型之间的隐式转换被设计得尽可能避免损失精度,如果表达式中既有整数类型的运算对象也有浮点数类型的运算对象,整型会转换成浮点型。
#include<stdio.h> int main() { int n=0; double a=0; int s1,s2,s3; while(scanf("%d",&n)!=EOF) { if(n==0) break; s1=s2=s3=0; for(int i=0;i<n;i++) { scanf("%lf",&a); if(a<0) s1++; else if(a==0) s2++; else s3++; } printf("%d %d %d\n",s1,s2,s3); } return 0; }