首页 > 解决方案 > 'while' 循环求 n 个数字的总和

问题描述

我试图n使用while循环找到数字的总和,以便它像这样运行:

How many numbers: 3

-3,
4,
13,
The sum is: 14

但是我得到的是:

How many numbers: 3

2,
1,
The sum is: 3

我不明白,因为我设置i = 0

#include <stdio.h>

int main(void)  {

    int numbers; 
    printf("How many numbers: ");
    scanf("%d", &numbers);
    
    int sum = 0; 
    int i = 0; 
    while (i < numbers) {
        scanf("%d", &numbers);
        sum = sum + numbers; 
        i++; 
    }
    
    printf("The sum is: %d", sum);
    return 0;
}

标签: cwhile-loop

解决方案


一个正确的解决方案是:

    #include <stdio.h>
    
    int main(void)  {
    
        int numbers; 
        printf("How many numbers: ");
        scanf("%d", &numbers);
        
        int sum = 0; 
        int i = 0; 
        int number; // use different variable for the input numbers
        while (i < numbers) {
            scanf("%d", &number);
            sum = sum + number; 
            i++; 
        }
        
        printf("The sum is: %d", sum);
        return 0;
   }

问题是您将一个变量用于两件不同的事情。


推荐阅读