在两个给定数字之间添加数字?

时间:2017-03-13 16:44:17

标签: c visual-studio-2015

我正在尝试在两个给定数字之间添加数字。例如,如果给定的数字是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;

}

3 个答案:

答案 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);


    }
}