N+

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;
}

猜你喜欢

转载自blog.csdn.net/weixin_43959436/article/details/85719384
N+
N!
n
N*