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 时。我确定您会收到一条错误消息,告诉您
我制作这个程序是为了百分比。您一个一个地输入百分比,它会在每次输入后计算平均值。它计算百分比之间的跳跃、整体跳跃、所有百分比的总和(获得的分数)以及总得分的百分比(如果所有百分比均为 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 时。我确定您会收到一条错误消息,告诉您