写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息

快,在线 C语言

第1个回答  2012-07-05
#include<stdio.h>
main()
{
int number;
printf("请输入一个正整数:\n");
scanf("%d",&number);
if(prime(number))
printf("\n %d 是素数",number);
else
printf("\n %d 不是素数",number);
}
int prime(number)/*此函数用于差别素数*/
int number;
{
int flag=1,n;
for(n=2;n<number/2 && flag==1;n++)
if(number%n==0)
flag=0;
return(flag);
}
第2个回答  推荐于2018-03-13
一楼的怎么混到10级的?太不厚道了!
首先,该函数缺头文件<stdio.h>与<math.h>,并且k=sqrt(n)+1;缺强制类型转换.
程序根本没法运行.
其次,你的判断函数根本是错的!for(i=3;i<k;i+=2) if(i%2==0) return 0;会是什么结果?i恒为奇数,该条件永远为真,运行结果不管输入什么数都会判为素数!
二楼的程序是对的,只是不够优化,判断大素数会很耗时.在二楼的基础上修改程序如下:
#include <stdio.h>
#include<math.h>
int is_prime_number(int num)
{
int i;
if(num<2)
return 0;
for(i=2;i<(int) sqrt(num)+1;i++)
{
if(num%i==0)
return 0;//不是素数
}
return 1; //是素数
}

int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",&n);
if(is_prime_number(n))
printf("%d是素数",n);
else
printf("%d不是素数",n);
return 0;
}本回答被网友采纳
第3个回答  2008-12-23
#include <stdio.h>

int is_prime_number(int num)
{
int i=0;
if(num<2)
return 0;
if(num==2 || num==3)
return 1;//是素数
for(i=2;i<num;i++)
{
if(num%i==0)
return 0;//不是素数
}
return 1; //是素数
}

int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",&n);
if(is_prime_number(n))
printf("%d是素数",n);
else
printf("%d不是素数",n);
return 0;
}
第4个回答  2008-12-23
int isp(int n){
int i,k;
k=sqrt(n)+1;
for(i=3;i<k;i+=2)
if(i%2==0)
return 0;

return 1;
}

main(){
int n;
printf("\nEnter number: ");
scanf("%d",&n);
if(isp(n))
printf("\nIs permi number.");
else
printf("\nIs not .");

}本回答被提问者采纳
第5个回答  2019-07-08
prime(int
m)
改为
bool
prime(int
m)
并把prime函数提至顶部或者事先声明
代码有如下两种:

#include<stdio.h>
bool
prime(int
m)
{
int
i;
for(i=2;i<=m;i++)
if(m%i==0)
return
0;
else
return
1;
}
void
main()
{
int
n;
scanf("%d",&n);
if(prime(n))
printf("%d
is
a
prime\n",n);
else
printf("%d
is
not
a
prime\n,n");
}

#include<stdio.h>
bool
prime(int
m)
void
main()
{
int
n;
scanf("%d",&n);
if(prime(n))
printf("%d
is
a
prime\n",n);
else
printf("%d
is
not
a
prime\n,n");
}
bool
prime(int
m)
{
int
i;
for(i=2;i<=m;i++)
if(m%i==0)
return
0;
else
return
1;
}

写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息
include <stdio.h> include <math.h> \/\/判断是否为素数的函数 int isPrime(int n){ int i=2;while(i<=(int)sqrt(n)){ if(n%i == 0)return 0; \/\/不是素数,直接返回0 else i++;} return 1;} int main(){ int n;printf("输入一个正整数: ");scanf("%d",&n);if(isPrime...

用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息...
输出是否素数的信息的源代码如下:include <stdio.h> include <stdbool.h> bool prime(int x){ if (2 > x ) { return false;} for (int i = 2; i < x ; i++) { if (0 == x % i ) { return false;} } return true;} int main(){ for (int i = 2; i < 100; i+...

c语言程序改错写一个判别素数的函数,在主函数输入一个整数,输出是否素 ...
include <stdio.h> int main(){ int n,i;printf("输入指定的正整数(一个大于1的正整数) :");scanf("%d",&n);printf("1到%d之间的质数有 :",n);int fun(int n);for(i=2;i<=n;i++){ if(fun(i)==1)printf("%2d ",i);} return 0;} int fun(int n){ int i;for(...

C语言编程 写一个判断素数的函数,在主函数输入一个整数,输出是否...
int i;for (i=2;i<n;i++)if(n%i==0)return 0;return 1;} void main(){ int n;printf("请输入一个数:");scanf("%d",&n);if(isprime(n))printf("%d是素数\\n");else printf("%di不是素数\\n"); }

写一个判别素数的函数prime(),在主函数输入一个整数,判断输出是否是素数...
int number;int prime(int number);printf("请输入一个正整数:\\n");scanf("%d",&number);if (prime(number))printf("\\n %d是素数. ",number);else printf("\\n %d不是素数. ",number);}int prime(int num) \/*此函数用于判别素数*\/ { int flag=1,n;for(n=2;n<num\/2 &&flag ...

用C++编写一个判别素数的函数,在主函数中输入一个整数,通过参数调用...
int main(){ int m;while(1){ printf("请输入数字(输入0退出):");scanf("%d",&m);if (m == 0){ return 0;} if (fun_m(m)){ printf("%d是素数!",m);} else { printf("%d不是素数!",m);} } return 0;} int fun_m(int x){ int n,flag=1;for(n=2;n<x;n++)...

...在主函数中输入一个整数,输出是否是素数的信息。要求: (1)编_百 ...
include<cmath> using namespace std;void fun(int a){ int k,i;k=sqrt(a);for(i=2;i<=k;i++)if(a%i==0)break;if(i>k)cout<<a<<"是素数"<<endl;else cout<<a<<"不是素数"<<endl;} main(){ int a;cout<<"请输入一个整数";cin>>a;fun(a);return 0;} ...

编写一个判断素数的函数,并在主函数中调用,验证函数的正确性,以C语言...
int sushu (int n){ int j,m;if (((n%2)!=0)||(n<=4))m=0;elseif for(j=2; j <= (int)(floor(sqrt((double)(n)));j++){ if ((n%j)==0){ m=0;break;} } else m=1;return(m)} 返回值为1为素数;返回值为零为非素数。

c语言写判断素数?
printf("请输入一个整数:");scanf("%d", &num);\/\/ 调用函数判断是否为素数,并输出结果 if (isPrime(num)) { printf("%d 是素数。\\n", num);} else { printf("%d 不是素数。\\n", num);} return 0;} 这个程序首先定义了一个 isPrime 函数,用于判断一个数是否为素数。然后在 main ...

C语言,编写函数判断一个整数是否为素数,在主函数中调用该函数并输出10...
int i;int result = 1;if(n==1)return 0;for(i=2;i<n;i++){ if(n%i==0){ result = 0;break;} } return result;} int main(){ int n;printf("100以内的素数包括:\\n");for(n=1;n<=100;n++){ if(is_prime_number(n)){ printf("%d ",n);} } printf("\\n");retu...

相似回答