原题回顾
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
这一道题目要注意的地方前面的题型都有碰到,容易错的地方有:当输入0的时候什么也不做,意思就是输入n的时候对n做一个相应判断的处理。我的AC代码如下:
#include <iostream>
using namespace std;
int main()
{
int n,zero_num=0,negtive_num=0,positive_num=0;
float *input_num;
while(cin>>n&&n)
{
//分配空间
input_num=new float[n];
for(int i=0; i<n; i++)
{
cin>>input_num[i];
if(input_num[i]==0)
++zero_num;
else if(input_num[i]>0)
++positive_num;
else
++negtive_num;
}
cout<<negtive_num<<" "<<zero_num<<" "<<positive_num<<endl;
zero_num=0;
negtive_num=0;
positive_num=0;
delete input_num;
}
return 0;
}
本文介绍了一道编程题,任务是统计给定数值中的负数、零和正数的数量,并提供了AC代码实现。输入包括多组数据,每组由整数n及随后的n个实数组成。
729

被折叠的 条评论
为什么被折叠?



