C语⾔:输出0-100间素数连续输出100个素数
0-100间素数
1. 算法思路:
1、参考判断素数程序
2、加⼊循环实现0-100间素数输出
2. 代码如下:
//输出0-100内素数
#include<stdio.h>
int main()
{
int a;
int i;
int count=0;
int isprime=1;//a是素数
for(a=2;a<100;a++){
for(i=2;i<a;i++){
if(a%i==0){
isprime=0;
break;
}
}
if(isprime==1){
count++;
printf("%d\t ",a);//⽔平制表符
if(count%5==0){
printf("\n");//换⾏符
}
}
isprime=1;
}
return0;
}
输出结果:
235711
1317192329
3137414347
5359616771c++判断素数
7379838997
--------------------------------
Process exited after 0.3817 seconds with return value 0
请按任意键继续...
代码分析:
根据上⼀个程序改编⽽成,主要加了0-100内数值循环这个选项,这⾥⼀定要注意 if 、while 、for 等循环语句中有{ }和没有的区别,尤其是在改动语句的时候⼀定要注意。
连续输出100个素数
1. 算法思想:
1、设置计数器⽤于检验是否达到100个素数;
2、利⽤ for 和 while 循环均可以达到效果;
2. 代码如下:
// 输出50个连续素数
#include<stdio.h>
int main()
{
int a=2;
int i;
int count=0;
int isprime=1;//a是素数
for(a=1;count<100;a++)
//while(count<100)
{
for(i=2;i<a;i++){
if(a%i==0){
isprime=0;
break;
}
}
if(isprime==1){
count++;
printf("%d\t ",a);
if(count%5==0){
printf("\n");
}
}
isprime=1;
// a++;
}
return0;
}
输出:
123571113171923
29313741434753596167
717379838997101103107109
113127131137139149151157163167
173179181191193197199211223227
229233239241251257263269271277
281283293307311313317331337347
349353359367373379383389397401
409419421431433439443449457461
463467479487491499503509521523
-
-------------------------------
Process exited after 0.2975 seconds with return value 0
请按任意键继续...
代码分析:
这⾥说⼀下程序第26⾏中 isprime=1;对isprime初始化意义:当不是素数时,经过第15⾏的 isprime=0 会使isprime的值变为 0 ,由于isprime 的声明语句在整个循环外部,所以即使下⼀个为素数,也会因为 isprime 的值⽽导致错误输出。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论