c语言求长度为k的连续部分总和

描述
输入两个整数n,k; 给出一个长度为N的数列a[1]-a[n].

求这个数列中所有长度为K的连续的部分的总和

格式
输入格式
第一行输入n,k(1 ≤ k ≤ n ≤ 100000)
第二行输入大小为n的数组a,输入n个数,a[1],a[2]....a[n]   (0 ≤ a[i] ≤ 1080)

输出格式
输出一个整数,数组a中长度为k的连续部分之和

样例
样例输入 
5 3
1 2 4 8 16
样例输出 
49
提示
样例:a数组中长度为k的连续部分有{1,2,4},{2,4,8},{4,8,16},即7+14+28=49

    int i = 0, j, n, k, a[100000] = {0}, sum = 0;
    scanf("%d%d", &n, &k);
    while (i < n)
    {
        scanf("%d", &a[i++]);
    }
    for (i = 0; i < n; i++)
    {
        if (i + k <= n)
        {
            for (j = i; j < i + k; j++)
            {
                sum += a[j];
            }
        }
        else
        {
            break;
        }
    }
    printf("%d\n", sum);