N+
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
给出长度为 n 的数列,我们定义
x[i] = 3746 (0 <= i <= n-1)
其中 a[], x[] 的数组下标从 0 开始到 n-1,请输出数组 x 中大于 0 的数的个数。
Input
输入数据有多组(数据组数不超过 50),到 EOF 结束。
对于每组数据,第一行先输入一个数 n (1 <= n <= 10000) 表示数列的长度。接下来的一行输入这个数列,a[i] 数据的范围在 [-1000, 1000]。
Output
对于每组数据输出一行,先输出 "Case #t: " 表示当前是第几组,t 从 1 开始计数,之后输出数组 x 中大于 0 的数的个数。
Sample Input
5
1 2 3 4 5
3
-1 0 1
Sample Output
Case #1: 5
Case #2: 0
Hint
题中求和公式的含义是:x[i] = a[0] + a[1] + … + a[i]
#include<stdio.h>
int main()
{
int i,n,a[10001],flag,x[10001],j,k=1;
while(~scanf("%d",&n))
{
int sum=0;
flag=0;
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<n; i++)
{
sum=0;
for(j=0;j<=i;j++)
{
sum+=a[j];
}
x[i]=sum;
}
for(i=0; i<n; i++)
{
if(x[i]>0)flag++;
}
printf("Case #%d:",k);
printf(" %d\n",flag);
k++;
}
return 0;
}