一道大一c语言题,求高手解决,急!谢谢? 50
对于任意的正整数n,编写一个统计2,3,......,n中素数个数的函数,判别素数要求调用另外编写的函数来实现。还要求编写main()函数实现程序的运行。(一共编写3个函...
对于任意的正整数n,编写一个统计2, 3, ...... , n中素数个数的函数,判别素数要求调用另外编写的函数来实现。 还要求编写main()函数实现程序的运行。(一共编写3个函数)
展开
2个回答
展开全部
代码资料:
#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;
}
展开全部
#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);
}
<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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询