
正文
c语言输出素数20以内,c语言输出100到200之间的素数流程图
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言输出3~20之间的所以素数
#include stdio.h
int main()
{
int i, j;
for (i = 3; i = 20; ++i){
for (j = 2; j*j = i; ++j){
if (i%j==0){
break;
}
}
if (j*j i){
printf ("%d\n", i);
}
}
return 0;
}
相关问答
Q1: C语言 求1——20所有素数之和
//素数不是奇数,有人搞错了。
//1--20的素数是2 3 5 7 11 13 17 19 和为:77
#includestdio.h
int fun(int m)
{
int i;
if(m2) return 0;
for(i=2;i=m/2;i++)
if(m%i==0) return 0;
return 1;
}
void main( )
{
int n=0,i;
for(i=1;i=20;i++)
if(fun(i))
n+=i;
printf("sum=%d\n",n);
}
Q2: 用C语言建造一个单链表,输出20以内的素数
你的要求说得不是很清楚,下面提供的这个程序先生成一个存储0~20的单链表,然后剔除其中非素数节点,最后打印出经处理后仅剩素数节点的单链表。#include stdio.h
#include math.h
#include malloc.h
#include conio.h
typedef struct node
{
int n;
struct node *Next;
}num;
int is_prime(int num)/*自定义函数:判断是否素数*/
{
int i,sq;
if(num=1) return 0;
sq=(int)sqrt(num);
for(i=2;i=sq;i++)
{
if(num%i==0) break;
}
if(i=sq)
return 0;
else
return 1;
}
main()
{
int i,m=0;
num *h,*p,*s;
if((h=(num *)malloc(sizeof(num)))==NULL) exit(0);/*生成一个存储1~20的单链表*/
h-n=1;/*h:表头,下同*/
h-Next=NULL;
p=h;/*p:当前节点,下同*/
for(i=2;i=20;i++)
{
if((s=(num *)malloc(sizeof(num)))==NULL) exit(0);
p-Next=s;
s-n=i;
p=s;
}
p=h;
s=p;
for(i=0;i20;i++) /*遍历链表,剔除非素数节点*/
{
if(is_prime(p-n)==1)
{
s=p;
p=p-Next;
m++;
if(m==1) h=s;
}
else
{
s-Next=p-Next;
p=p-Next;
}
}
p=h;
for(i=1;i=m;i++)/*打印整理后的单链表*/
{
printf("%d ",p-n);
p=p-Next;
}
getch();
return;
}
Q3: c语言输出10到20的所有素数,并统计素数的个数?
int f(int n){
int i;
for (i=2;in;i++) if (n%i==0) return 0;
return 1;}
void main(){
int i,n=0;
for (i=10;i=20;i++) if (f(i)) {printf("%d\t",i);n++;}
printf("一共 %d 个\n",n);
}
c语言输出素数20以内的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言输出100到200之间的素数流程图、c语言输出素数20以内的信息别忘了在本站进行查找喔。







