这是一个非常基本的计算器的开始,我正在用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;
答案 0 :(得分:2)
运行以下行:
num3 = num2 + num1;
num3 = num1;
使您连续覆盖您的金额。你想要做的是在你的循环之前将num3
初始化为零,然后依次添加每个数字。像这个例子,尽可能少地修改你的代码:
num3 = 0;
while (loop1 < loop2)
{
printf("Please enter a number: ");
scanf("%f", &num1);
num3 += num1;
loop1++;
}