好人有好报:C语言求教:为什么这里从5开始就都不是素数了?

为什么这个程序运行之后从5开始就都不是素数了?怎么修改?谢谢各位了... 为什么这个程序运行之后从5开始就都不是素数了?怎么修改?谢谢各位了 展开
 我来答
jtlywqb
2019-09-29 · TA获得超过615个赞
知道小有建树答主
回答量:1371
采纳率:80%
帮助的人:175万
展开全部
仔细看了你的程序,发现你的程序有个问题,你在定义变量a时,同时给它赋了初值1,而在整个循环当中,除了有一行中有a=0的语句,再没有a=1的语句。所以当x=4时,a被修改成了1,就一直是a=1,所以尽管x=5时,整个内循环都不会出现x%i=0,但a却仍然是1,所以才会出现从5开始都不是素数的结果,你在外循环开始的地方加一行a=1;试试,看能不能出行你想要的结果。
另外,你也可以把内循环条件改成
x=5,先试一下,看看这时会不会出现5是素数,出现了,就说明我分析的是对的。
lfddjjnie
2019-09-28 · TA获得超过106个赞
知道小有建树答主
回答量:448
采纳率:54%
帮助的人:37万
展开全部
#include #include #include #include int main(void) { int n = 0; printf("请输入一个正整数\n"); scanf("%d", &n); if (n < 0) { printf("输入为负整数,取绝对值求解\n"); n = -n; }//end if if (n == 0 || n == 1 ) { printf("0和1不属于质数问题讨论范围。
\n"); return 0; }//end if if (n == 2 || n == 3) { printf("%d是质数(prime number素数)。 \n", n); return 0; }//end if for(int i = 2; i \n", n); return 0; }//end if printf("%d是质数(prime number素数)。 \n", n); return 0; } 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2019-09-28 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
for(x=2;x<100;x++){
for(i=2,a=1;i<x;i++){
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式