如何修改现有C语言素数代码 实现输出用户指定数量的素数
修改后可实现输出指定数量素数的代码
#include <stdio.h> int main(void) { int x,y,z; int count = 0; // 计数器,记录已输出的素数数量 printf("Input a number: "); scanf("%d", &x); // 去掉50的上限限制,没输出够x个素数就继续遍历 for (z=2; count < x; z++) { for (y=2; y<=z; y++) { if (z%y==0) break; } if (z==y) { printf("%d\n", z); count++; // 每输出一个素数,计数器加1 } } return 0; }
改动逻辑说明
- 新增
count计数器:初始值为0,专门统计已经成功打印的素数数量 - 调整外层for循环终止条件:原来的
z<=50是固定遍历范围到50,现在改为count < x,只要已打印的素数数量还没达到用户输入的目标值x,就继续判断更大的整数是否为素数 - 补充计数自增逻辑:你原来的素数判断逻辑完全保留,仅在确认当前数是素数、完成打印后,将
count加1,直到count等于x时自动终止循环
内容的提问来源于stack exchange,提问作者Hello
相关产品推荐
相关产品推荐

