有三种方法:
青铜峡网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
1、输出1-100以内的素数:
2、同样,也是输出1-100以内的素数,这个构造一个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。
若x为素数,即prime[x]!=0,使得每个i*x位置元素置0(prime[i*x]=0),表示为非素数,循环结束前x+1。
3、该方法是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数100)。
扩展资料:
在这个小程序中主要用到的是for循环
for 循环语句的一般形式为:
for (表达式1; 表达式2; 表达式3)
{
语句;
}
需要注意的两点:
1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。
#includestdio.h
int main()
{
int i,k,n;
printf("请输入一个整数:");
scanf("%d",n); //输入 n 范围上限
printf("1~%d的素数为:\n",n);
for(i=2;i=n;i++) //外循环 从2到n 查找
{
for(k=2;k=i;k++) //内循环 将i除以 2到 i的所有值
if(i%k==0) //i能整除 其中一个数就不是素数 跳出内循环
break;
if(k=i) //k=i如果成立 说明前面循环结束时应为 k=i不满足 或 k=i是break
//跳出循环 这两种情况都说明 2到i所有的数都不能被i整除 (除了自身)
printf("%8d\n",i); //满足就输出这个素数
}
printf("\n");
return 0;
}
定义一个求判断素数的函数,调用此函数对1~100中2和大于2的奇数进行判断,是素数的输出,举例代码如下:
#include "stdio.h"
int prime(int n){//判断n是否为素数
int i;
if(n2 !(n1) || n2)
return 0;
for(i=3;i*i=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int n;
for(n=2;n100;n += n!=2 ? 2 : 1)
if(prime(n))
printf("%3d",n);
printf("\n");
return 0;
}
#includestdio.h
//输出100之内的所有素数
int main()
{
int i;
int j;
int flag = 1;
for(i = 2;i = 100;i++)
{
for(j = 2;j = i / 2;j++)
{
if(i % j ==0)
{
flag = 0;
break;
}
}
if(flag == 1)
{
printf("%d\n",i);
}
flag = 1;
}
return 0;
}
扩展资料
#include stdio.h
int main()
{
int a;
for (int i = 2; i 100; i++)
{
int a = 0;
/* code */
for (int j = 2; j i; j++)
{
/* code */
if (i % j == 0)
{
/* code */
a++;
}
}
if (a == 0)
{
/* code */
printf("%d is sushu\n", i);
}
else
{
/* code */
printf("%d is not sushu\n", i);
}
}
return 0;
}
#include "stdio.h"
int prime(int n){
int i;
if(n2 !(n1) || n2)
return 0;
for(i=3;i*i=n;i+=2)
if(!(n%i))
return 0;
return n;
}
int main(int argc,char *argv[]){
int n,t;
for(t=0,n=2;n101;n++)
if(prime(n))
printf(++t%5 ? "%3d" : "%3d\n",n);
if(t%5)
printf("\n");
return 0;
}
运行结果: