数值统计
统计给定的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
#include <stdio.h>
int main()
{
int count1,count2,count3,n;
double t;
while(scanf("%d",&n)!=EOF)
{
count1=count2=count3=0;
if(n==0)
break;
while(n--)
{
scanf("%lf",&t);
if(t<0)
count1++;
else if(t==0)
count2++;
else if(t>0)
count3++;
}
printf("%d %d %d\n",count1,count2,count3);
}
return 0;
}
注意每次计数都要清零..
求数列的和
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
Input
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Sample Input
81 4
2 2
Sample Output
94.73
3.41
#include<stdio.h>
#include<cmath>
using namespace std;
int main()
{
int i=1,j,m;
float n,sum;
while(scanf("%f %d",&n,&m)!=EOF)
{
sum=0;
while(m--)
{
sum+=n;
n=sqrt(n);
}
printf("%.2f\n",sum);
}
return 0;
}
同样的不能忘了sum清零...