C++对以前打印的列表中的数字求和

C++ summing numbers from a previously printed list

本文关键字:列表 数字 求和 打印 C++      更新时间:2023-10-16

>我编写了一个程序来提示用户输入两个数字,然后确定两个初始值之间范围内的所有素数。 我想对找到的素数的总和求和。 有人有任何指示吗? 我将包括我目前不正确的尝试。 感谢您的帮助。

编辑 - 完整代码现在在下面。

#include <iostream>
using namespace std;
int main()
{
    int smallernumber, largernumber, counter, i, IsPrime;
    int sum = 0;

    cout << "Welcome to the Prime Number calculator!  This program will"
        "ncalculate prime numbers between two values that you'll enter.n Please enter the the smaller of two values: ";
    cin >> smallernumber;
    cout << "nPlease enter the larger value ";
    cin >> largernumber;
    for (counter = 2; counter <= largernumber; counter++) {
        IsPrime = 0;
        for (i = 2; i < counter; i++) {
            if (counter % i == 0) {
                IsPrime = 1;

            }
        }
        if (IsPrime == 0 && counter != 1)
            cout << counter << " ";

    }
    for (counter = 2; IsPrime == 0 && counter != 1; counter++) {
        sum += counter;
    }
    cout << "nthe sum of the prime numbers is: " << sum << endl;
}

只需将sum += counter移到if子句中:

if (IsPrime == 0 && counter != 1) {
    sum += counter;
    cout << counter << " ";
}

我认为你想要的代码是@manni66说话,也@Daniel特鲁格曼。

{
int smallernumber, largernumber, counter, i, IsPrime;
int sum = 0;

std::cout << "Welcome to the Prime Number calculator!  This program will"
    "n calculate prime numbers between two values that you'll enter.n Please enter the the smaller of two values: ";
std::cin >> smallernumber;
std::cout << "n Please enter the larger value ";
std::cin >> largernumber;
for (counter = smallernumber; counter <= largernumber; counter++) 
{
    IsPrime = 0;
    for (i = 2; i < counter; i++) {
        if (counter % i == 0) {
            IsPrime = 1;
        }
    }
    if (IsPrime == 0 && counter != 1)
    {
        std::cout << counter << " ";
        sum += counter;
    }
}
std::cout << "nthe sum of the prime numbers is: " << sum << "n";
}
相关文章: