一道大一c语言题,求高手解决,急!谢谢?

对于任意的正整数n,编写一个统计2, 3, ...... , n中素数个数的函数,判别素数要求调用另外编写的函数来实现。 还要求编写main()函数实现程序的运行。(一共编写3个函数)

代码资料:

#include "stdio.h"

int prime(int n){//素数判断

int i;

if(n>2 && !(n&1) || n<2)

return 0;

for(i=3;i*i<=n;i+=2)

if(!(n%i))

return 0;

return 1;

}

int main(int argc,char *argv[]){

int n,s;

printf("Enter n(int 1<n)...\nn=");

if(scanf("%d",&n)!=1 || n<2){

printf("Input error, exit...\n");

return 0;

}

for(s=0;n>1;s+=prime(n--));

printf("%d\n",s);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-30
#include
<stdio.h>
int
func1
(int,int);
int
func2
(int,int);
int
main(void)
{
int
m,n;
printf("Please
input
numbers:");
scanf("%d
%d",&m,&n);
while
(m<=0||n<=0)
{
printf("You
must
input
natural
number,please
try
again:\n");
scanf("%d
%d",&m,&n);
}
printf("%d和%d的最大公约数是:%d\n",m,n,func1(m,n));
printf("%d和%d的最小公倍数是:%d\n",m,n,func2(m,n));
return
0;
}
int
func1
(int
m,int
n)
{
int
temp;
if
(m<n)
{
temp=m;
m=n;
n=temp;
}
while(m%n!=0)
{
temp=m%n;
m=n;
n=temp;
}
return
temp;
}
int
func2
(int
m,int
n)
{
return
m*n/func1(m,n);
}
相似回答