我正在尝试在两个给定数字之间添加数字。例如,如果给定的数字是2和5,2 + 3 + 4 + 5 = 14。我的代码的问题是我没有设置a,b和总和,但我不知道如何设置它们。
#include <stdio.h>
int main() {
int a, b, sum;
printf("%d\n", a);
printf("%d\n", b);
scanf_s("%d", a);
scanf_s("%d", b);
for (int x = a; x <= b; x++) {
sum += x;
}
printf("%d\n", sum);
return sum;
}
答案 0 :(得分:1)
如果你想根据你的例子在2到5之间加总,
int a = 2;
int b = 5;
// Or for input from the user
scanf("%d",&a); // Note, for real you need to validate and do error handling
scanf("%d",&b); // Note, for real you need to validate and do error handling
int sum = 0;
sum
始终从0开始。
a
是循环的开头,因此您将其设置为较低的数字。
b
是循环的结束,因此您将其设置为更高的数字。
答案 1 :(得分:0)
我建议您确保了解printf和scanf_s函数的功能。然后看看执行程序时会发生什么,并将其与您编写的程序进行比较。您需要能够准确理解程序为什么会这样做。
一旦你知道你的程序为什么会这样做,你就可以开始弄清楚如何改变它来做你想做的事。
答案 2 :(得分:0)
我注意到了什么问题,这是更正后的代码:
#include <stdio.h>
int main() {
int a, b, sum = 0;
printf("insert num 1\n");
scanf_s("%d", &a);
printf("insert num 2\n");
scanf_s("%d", &b);
if (a < b) {
for (int x = a; x <= b; x++) {
sum += x;
}
printf("%d \n", sum);
}
}