C++程序需求:在指定范围质数列表后输出质数总数
解决方案
无需改动原有代码的核心逻辑,仅需添加一个质数计数器变量,在输出质数时同步累加计数,最后打印总数即可实现需求。
修改后的完整代码:
#include <iostream> using namespace std; int main() { // Declaring Variables int i, start, end; int chk = 0, j; bool is_prime = true; // 新增质数计数器 int prime_count = 0; // User Input cout << "\nEnter starting number: "; cin >> start; cout << "\n" << "Enter final number: "; cin >> end; cout << "Number divisible by 7 from " << start << " to " << end << endl; cout << "******************************\n"; // Dividing by 7 for (i = start; i < end + 1; i++) { if (i % 7 == 0) { // Divisible Output cout << " " << i; } } // Prime Numbers cout << "\n\nPrime Numbers"; cout << "\n************* \n"; // Prime Numbers Calculation for (start; start <= end; start++) { for (j = 2; j < start; j++) { if (start % j == 0) { chk++; break; } } // Prime Numbers Output if (chk == 0) { cout << start << " "; // 每输出一个质数,计数器加1 prime_count++; } chk = 0; } // 打印质数总数 cout << "\n\n质数总数:" << prime_count << endl; return 0; }
修改说明
- 新增
int prime_count = 0;作为质数计数器,初始值设为0 - 在输出质数的
if分支内添加prime_count++;,每找到一个质数就累加计数 - 在质数列表输出完成后新增打印逻辑,完全不干扰原有代码的执行流程
用户问题(翻译后):
问题不大,但我无法在现有代码中实现需求,且不想改动现有代码逻辑,希望程序在输出指定范围内的质数列表后,额外打印出质数的总数。现有代码如下:[原代码]
内容的提问来源于stack exchange,提问作者gekohasnonecko
相关产品推荐
相关产品推荐

