子函数素数c语言表达式,c语言输出素数的两种代码是什么求解答谢谢

1,c语言输出素数的两种代码是什么求解答谢谢#include <stdio.h>int ss(int i) int n; for(n=2;n<i;n++)if(i%n==0)return 0;} } return 1;}main() printf("100以内的素数是\n"); int n; for(n=2;n<100;n++)if(ss(n))printf("%d ",n);} }}
2,新手求c语言求素数啊if(i=x-1) 改为 if(i==x-1) 你写的是赋值运算,是初学者经常犯的错误 。网上的代码意思是:n就是你输入的任意数,判断它是否是素数的方法是用大于2小于n的数去除n , 若能整除即不是素数 , 跳出循环;若数一直增加到n+1都没有被整除 , 即可输出“素数” 。你的源程序:3是素数,很简单,所以用if来提醒输入大于3的数,你的只是另一种素数算法,是优化的算法,更快 。因为只需用2到根号a去判断 。【子函数素数c语言表达式,c语言输出素数的两种代码是什么求解答谢谢】
3,C语言中自己编函数求素数返回一个不是0的数为是,注意是任意非0的数 。而返回0为非 。楼上的还可以具体一些,其实非常简单,如果一个数是素数,只要判断他是否能被2到这个数的开方之间的数整除就行了 。int flag=0;if(m==2)flag=1;}elsefor(int i=2;i<=sqrt(m);i++)flag=1;if(m%i==0)flag=0;break;}}}return(flag==1)?m:-1; //判断是否为1,为1输出m , 否则输出-1,-1表示不是素数如果是求某个范围的素数,可以连续调用这个方法,上面是常规的方法 , 还有更好的方法自己去查一下 。
4,C语言求素数 这个表达式我列出来了 不过是很久以前的 现在回顾发现1、第9行if(t%x==0) 改成if(x%t==0)2、你的程序中 , 如果是素数应该打印的是not,不是素数打印的是prime 。不知道是不是你想要的结果 , 如果不是把俯激碘刻鄢灸碉熏冬抹main函数中的条件if(c==1)改成if(c==0)3、prime函数中if(x==1)//1不是素数 改成if(x<2),因为负数,0,1都不是素数 。目测应该是for(t=2;t先不看你的程序语法错没错,就看你的yes 和no,那你可以把printf("no\n")去掉,就是说当不是素数时,不输出 , 再把printf("yes\n")改为printf("%d\n",i),这个都是建立在你的程序语法没错的情况下改的 。希望对你有所帮助 。#include "stdio.h"int prime(int x){int t;if(x==1)return 0;for(t=2;t=x) return 1; } main(){ int n,c; scanf("%d",&n); c=prime(n); if(c==1) printf("%d is prime.",n); else printf("%d is not.",n); } 我改了一下你的,你复制到vc里面看看运行对不对 。5,c语言表达素数#includevoid main() { int m,n,i,j,bp; scanf("%d %d",&m,&n); if ( m<=1 ) m=2; for ( i=m;i { for ( j=2,bp=1;j<=i/2;j++ ) if ( i%j==0 ) { bp=0; break; } if ( bp ) printf("%d ",i); } printf("\n"); }int fun(int lim, int aa[max])/* 以下代码仅供参考 */int i,j,k=0;/* 其中变量k用于统计素数个数 */for(i=2;i<=lim;i++)/* 以下找出小于或等于lim的素数存入aa数组中并统计素数个数 */for(j=2; j<=i/2; j++)if(i%j==0)break;if(j>i/2)//i是素数aa[k++]=i; }return k;}#include<stdio.h>void main()scanf("%d %d",&m,&n); if ( m<=1 ) m=2;for ( i=m;i<n;i++ )if ( bp ) printf("%d ",i);}printf("\n");}

    推荐阅读