编写一个函数:int isprime(int n)用于判断一个整数是否为素数,如果是就返回1,否则返回0 。

在主函数中通过循环调用isprime()函数输出300—500之间的素数,每输出10个素数后换行。isprime()定义在前,主函数在后。
#include<iostream>#include<cmath>#include<iomanip>using namespace std;int isprime(int n){ int k,i,j=0;for(n=301;n<=500;n=n+2){k=int(sqrt*n);for(i=2;i<=k;i=i++)if(n%i==0){return 0;break;}else return 1;}j=j+1;if(j%10==0)cout<<endl;return n;}int main(){ int q,w; for(w=300;w<=500;w++) q=isprime(int w); cout<<q<<endl;

return 0;

int isPrime(int num) {

int divisor = 3;

int testLimit = num;

if (num < 2)

return 0;

if ( num < 4 )

return 1;

if (num % 2 == 0)

return 0;

while ( testLimit >= divisor ) 

{

if ( num % divisor == 0 ) 

return 0;

testLimit = num / divisor;

divisor += 2;

}

return 1;

}

扩展资料:

return的用法:

return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式

函数的定义一般是这样的,例如:

int a(int i)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字

{

...//省略函数体内容

return b;//b必须与函数头的返回值一致(此处为int型)

}

简单函数举例:

int addOne(int b)

{

return b+1;

}

该函数的作用是取得一个数,将这个数加上1,再将结果返回

调用时这样:

int result=addOne(2);//此时result的值为3

函数括号里的参数也可以为变量或能算出值的表达式

以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)

但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如void print()//括号中为空表示无传递参数、

{

printf("a");

printf("b");

return;//函数执行到此处结束

printf("c");

}//该函数只执行到return语句处,即屏幕上输出的为"ab"

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-18
#include <iostream>
#include <cmath>
using namespace std;

int isPrime(int n) {
for(int i = 2; i <= sqrt(n); i++)
if(n % i == 0)
return 0;
return 1;
}

int main()
{
int f = 0;
for(int i = 300; i <= 500; i++)
if(isPrime(i))
cout << i << (++f % 10 ? " " : "\n");
return 0;
}

第2个回答  推荐于2017-12-16
代码有点乱,给你提供一个作参考……
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int isprime(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(void){
int i;
for(i=301;i<500;i+=2)
if(isprime(i)) printf("%d ",i);
printf("\n");
return 0;
}本回答被网友采纳
第3个回答  2018-06-27
.int isPrime(int n)
{
int i;
for(i=2;i<sqrt(n);i++)
if(n%i==0) return 1;
}
相似回答