for 循环只循环一次,一些变量得到奇怪的数字

The for loop loops only once and some variables are getting wierd numbers

我制作这个程序是为了百分比。您一个一个地输入百分比,它会在每次输入后计算平均值。它计算百分比之间的跳跃、整体跳跃、所有百分比的总和(获得的分数)以及总得分的百分比(如果所有百分比均为 100)。问题是它只运行一次 for 循环;平均值之间的跳跃是奇怪的数字。当有 4 次迭代时,以前在较少迭代中正常的变量也开始得到奇怪的数字。

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
    int A;
    printf("Enter how many numbers are there: ");
    scanf("%d", &A);
    int C[A + 1], E[A + 1], F[A + 1];
    int B, D;
    for(B = 1; B <= A; B++)
    {
        printf("Enter a number. This statement will loop %d times: ", A);
        scanf("%d", &C[B]);
        for(D = 1; D <= B; D++)
        {
            C[0] = C[0] + C[D];
            E[0] = C[0] + C[D - 1];
        }
        E[B] = C[0] / B;
        E[0] = E[0] / (B - 1);
        F[B] = E[B] - E[0];
    }
    F[0] = E[A] - C[1];
    E[0] = (C[0] * 100)/ (100 * A);
    for(B = 1; B <= A; B++)
    {
        printf("Your score: %d,      Your average up to here: %d,      Increase/Decrease in 
        average: %d\n", C[B], E[B], F[B]);
    }
    printf("Your overall jump/fall in average: %d,          your total score: %d,       The 
    percentage you got: %d", F[0], C[0], E[0]);
    return 0;
}

好吧你被零除

E[0] = E[0] / (B - 1);

当 b = 1 时。我确定您会收到一条错误消息,告诉您