1

这是我正在做的一个非常基本的计算器的开始,以便在 C 中进行一些练习。为了解释我正在尝试做的事情,我只是想得到它,以便在每次这段代码循环之后它添加 ' num1' 变量,进而允许您添加任意数量的数字。就像我说的那样,这并没有真正的多孔性,我只是 C 的新手,并希望练习一下。

现在举一个例子说明这段代码哪里出错了,如果我想添加 4 个数字(比如说 1+2+3+4),由于某种原因,答案总是最终是 3。现在我意识到有些代码更可能让我看起来有点愚蠢......例如,

num3 = num2 + num1;
        num3 = num1;

然后循环回来并再次这样做,但我强调任何愚蠢的错误要么是由于我对代码进行了绝望的更改以试图使其正常工作,要么只是因为我是新手。感谢所有可以帮助我的人。

float num1, num2, num3;
int loop1 = 0;
int loop2 = 0;
int choice;

printf("Which would you like to do?\n1) Add.\n2) Subtract.\n3) Multiply.\n4) Divide.\n");
scanf("%i", &choice);

switch(choice){

    case 1:
        printf("How many numbers would you like to add?: ");
        scanf("%i", &loop2);
        while (loop1 < loop2){
        printf("Pleas enter a number: ");
        scanf("%f", &num1);
        printf("Pleas enter a number: ");
        scanf("%f", &num2);
        num3 = num2 + num1;
        num3 = num1;
        loop1 ++;
        loop1 ++;}
        printf("%f", num1);
        break;
4

1 回答 1

2

运行这些行:

    num3 = num2 + num1;
    num3 = num1;

导致您不断覆盖您的总和。您要做的是num3在循环之前初始化为零,然后依次添加每个数字。像这个例子一样,尽可能少地修改你的代码:

num3 = 0;
while (loop1 < loop2)
{
    printf("Please enter a number: ");
    scanf("%f", &num1);
    num3 += num1;
    loop1++;
}
于 2013-10-07T23:53:02.983 回答