
c语言编程:设计一个函数用于判断一个数是否为素数,如果是素数返回1.
源程序代码以及算法解释如下:
#define_CRT_SECURE_NO_WARNINGS
;
intFunc(intm)//判断函数
{
intn=2;
while(n<=m&&(m%n))//判断是否能被其他数整除
n ;
if(m==n)
return1;
else
return0;
}
intmain()
{
intM_num;//定义变量
printf("请输入需要判断的数:n");//文字提示
scanf("%i",&M_num);//循环输入数组元素
inti=Func(M_num);//判断是否是素数
if(i==1)//输出结果
printf("输入的数是素数");
if(i==0)
printf("输入的数不是素数");
printf("n");
return0;
}
程序运行结果如下:
输出1-100之间的所有素数程序如下:
;
intPrimeNumer(intx)//定义一个函数判断
{
assert(x>0);//判断
inti;//被除数
for(i=2;i
{
if(x%i==0)
{
return0;//表示正常终止
}
}
return1;//只是给主调函数一个标志,说明他的执行过程中遇到异常情况。然后就返回主调函数来处理,继续执行。
}
intmain()
{
inti,a;
intcount=0;
for(i=2;i<101;i )
{
if(PrimeNumer(i))//调用函数来判断
{
count ;//加入了一个计数器
printf("%dn",i);
}
}
printf("素数出现的次数%d",count);
system("pause");
return0;
}
怎么用c语言判断一个数是不是素数
方法一:
#include<stdio.h>
intmain(){
inti,j;
printf("请输入一个正整数。\n");
scanf("%d",&i);
if(i<2)
printf("小于2,请重新输入。\n");
elseif(i%2==0)
printf("%d不是一个素数。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一个素数。\n",i);
break;
}
if(j>i/2){
printf("%d是一个素数。\n",i);
break;
}
}
}
}
方法二:
#include<stdio.h>
intmain(){
inta=0;
intnum=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
方法三:
#include"stdio.h"
intmain(){
printf("\t\t\t\t\thelloworld\n");
inta,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
}while(a!=0);
}
