以下是我自己编的程序,求大神帮我纠错,万分感激!!(我看了网上的其他答案,都是引入了第三个变量,可不可只用两个变量就做出来呢?)
#include<stdio.h>
main()
{
int i,j;
for(i=100;i<=200;i++)
{for(j=2;j<i;j++)
{if (i%j==0) break;
printf("%d\n",i);}}
}
æè·¯ï¼å å®ä¹ä¸ä¸ªå½æ°ispç¨æ¥å¤æä¸ä¸ªæ°æ¯å¦æ¯ç´ æ°ï¼æè°ç´ æ°æ¯é¤äº1åèªèº«æ²¡æå ¶ä»çå æ°ï¼æ以ä»2å°è¯¥æ°åä¸ï¼å¤æå ¶æ¯å¦å¯ä»¥æ´é¤è¯¥æ°ï¼å¦æå¯ä»¥è¯¥æ°å°±ä¸æ¯ç´ æ°ï¼å¦å该æ°å°±æ¯ç´ æ°ãæåä»100å°200ä¾æ¬¡å¤æ并è¾åºç´ æ°ã
åè代ç ï¼
#include <stdio.h>做的对哦~
可是我不理解为什么最后一个if里的是i==j而不是j<i?
麻烦大神再给解释下~
i==j就说明前面的循环到最后都没有找到可被i整除的数,说明i是素数,输出i,如果j<i说明i找到一个可以整除的数,所以执行break语句,提前跳出循环
本回答被提问者采纳