用For语句实现循环
- 基本思路:若一个数n能被2和√n之间的数整除(取余为0),则可判断n为素数。可从2开始测试,一直到√n为止。
- For语句语法规则
一般形式:
for(表达式1;表达式2;表达式3) 语句
for(循环变量赋初值;循环条件;循环变量增值) 语句
- 实现过程:从i=2开始测试,判断循环条件(i<=q),若成立则进入第一个if语句,判断n对i取余是否为0。若为0,直接跳出for循环体,进入for语句的下一语句,即第二个if语句;若不成立,执行表达式3(i++),再次进入for循环,直到 i>q后,跳出for循环,进入第二个if语句。若 i<=q,说明在测试到√n之前已经有一个 数能被n整除,即n不是素数。若 i>q,说明从2测试到√n都没有一个数能被n整除,直到测试到大于√n才因为不满足for循环条件跳出,即n是素数。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i,q;
while(scanf("%d",&n)!=EOF)
{q=(int)sqrt(n); //注意函数调用的格式
for(i=2;i<=q;i++)
if(n%i==0)
break;
if(i<=q)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
如何将下列流程图写成代码?