CPP 上的简单求和程序

Simple summation program on cpp

本文关键字:求和 程序 简单 CPP      更新时间:2023-10-16

我正在尝试让一个 c++ 程序对用户输入的元素求和:

#include <iostream>
int main(){
        int sum = 0, value = 0;
        // read until end-of-file, calculating a running total of all values read
        while (std::cin >> value){
                sum += value;
        }
        std::cout << "Sum is: " << sum << std::endl;
        return 0;
}

我在 c++ 入门上阅读了此示例,但是当我编译并运行该程序时,提示会一直等待输入。为什么它不输出任何东西?

std::cin 一直等待输入,直到遇到EOF(文件结尾)。当您在终端(Linux)中运行它时,只需按Ctrl + D即可生成EOF。如果您是 Windows 用户,请使用 Ctrl + Z

请在值上设置一个limit并在 while 循环中检查它。

让我添加一些代码来说明...

#include <iostream>
int main(){
        int sum = 0, value = 0, limit=5, entries=0;
        std::cout << "Enter "<< limit << " digits:"; 
        // read until end-of-file, calculating a running total of all values read
        while ((std::cin >> value) && (entries < limit) ){
                sum += value;
                entries++;
        }
        std::cout << "Sum is: " << sum << std::endl;
        return 0;
}

另一种选择是获取用户将要提供的条目数;

#include <iostream>
int main(){
        int sum = 0, value = 0, limit=0, entries=0;
        std::cout << "Enter limit:";
        std::cin >> limit;
        // read until end-of-file, calculating a running total of all values read
        while ((std::cin >> value) && (entries < limit) ){
                sum += value;
                entries++;
        }
        std::cout << "Sum is: " << sum << std::endl;
        return 0;
}