本题的意思是给出一串数字,要求出其中正数,负数以及等于0的数的个数,做这道题要注意的一点是用数组来存数字串的值时数组的类型要用double或者float,因为序列中会出现小数。其他的基本都很容易了。分享一下我的代码。
#include<stdio.h>
int main(){
int n,a,b,c,i;
double h[100];
while(scanf("%d",&n),n){
a=0;b=0;c=0;
for(i=0;i<n;i++){
scanf("%lf",&h[i]);
}
for(i=0;i<n;i++){
if(h[i]>0)a++;
if(h[i]==0)b++;
if(h[i]<0)c++;
}
printf("%d %d %d\n",c,b,a);
}
return 0;
}
下面是原题
Problem Description
统计给定的n个数中,负数、零和正数的个数。
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