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

在主函数中通过循环调用isprime()函数输出300—500之间的素数,每输出10个素数后换行。isprime()定义在前,主函数在后。

//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
using namespace std;
bool isprime(int n){
int i;
if(n>2 && !(n&1) || n<2) return false;
for(i=3; i*i<=n;i+=2)
if(!(n%i)) return false;
return true;
}
int main(void){
for(int i=301,k=0;i<501;i+=2)
if(isprime(i))
cout << i << (++k%10 ? ' ' : '\n');
if(k%10) cout << endl;
return 0;
}追问

可以连主函数都一起写出来吗 ,我是新手,因为我用主函数写,会出错的

追答

//#include "stdafx.h"//vc++6.0加上这一行.
#include
using namespace std;
bool isprime(int n){
int i;
if(n>2 && !(n&1) || n<2) return false;
for(i=3; i*i<=n;i+=2)
if(!(n%i)) return false;
return true;
}
int main(void){
for(int i=301,k=0;i<501;i+=2)
if(isprime(i))
cout << i << (++k%10 ? ' ' : '\n');
if(k%10) cout << endl;
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-14
#include <stdio.h>
int isprime( int n )
{
int i;
if ( n<2 )
return 0;
for( i=2;i<=n/2;i++ )
if ( n%i == 0 )
return 0;
return 1;
}

int main()

int i,n=0;
for( i=300;i<=500;i++ )
{
if ( isprime(i) )
{
printf("%d", i );
n++;
if ( n%10 == 0 )
printf("\n");
else
printf(" ");
}
}
printf("\n");
return 0;
}

追问

printf能不能改成cout的输出流啊

追答#include <iostream>
using namespace std ;
int isprime( int n )
{
    int i;
    if ( n<2 )
        return 0;
    for( i=2;i<=n/2;i++ )
        if ( n%i == 0 )
            return 0;
    return 1;
}
 
int main()

    int i,n=0;
    for( i=300;i<=500;i++ )
    {
        if ( isprime(i) )
        {
            cout << i;
            n++;
            if ( n%10 == 0 )
                cout<<endl;
            else
                cout<<" ";
        }
    }
    cout << endl ;
    return 0;
}

第2个回答  2014-12-14
int isprime(int n)
{
int step=(n%2==0)?1:2;

int i=2;

while(i<n)
{
if(n%i == 0)return 0;

i+=step;

}

return 1;

}追问

如果要加上主函数int main() 要怎样写,我调用函数会写出来,但我就不会将调用函数和主函数结合起来 ,感谢啊

C++ 定义一个函数,功能为判断一个整数是否为素数,并编写主函数,输入一...
多的我就不说了,函数如下(你只需把下面的代码贴在int main()之前就行了,然后在开头加一个头文件:#include<cmath>):bool isPrime(int x){if(x==1)return 0;for(int i=2;i<=sqrt(x);i++) if(x%i==0)return 0;return 1;}函数就是上面的,使用方法:比如你想判断n(这里n为正整数)是否为素数,...

用C++语言编写程序:输出0~n的素数?
int main() { int n;cout "请输入一个正整数 n:";cin >> n;cout "0~" << n << "之间的素数有:";for (int i = 2; i <= n; i++) { if (isPrime(i)) { cout << i << " ";} } return 0;} ```首先,定义了一个 `isPrime` 函数,用于判断一个数字是否为素数。...

C++判断素数的代码
include<iostream>using namespace std; bool is_prime(int n){if(n<2)return false;for (int i=2;i*i<=n;i++){if(n % i == 0)return false;}return true;}int main(){int n;cin>>n;if (is_prime(n)){cout<<"yes"<<endl;}else{cout<<"no"<<endl;}return 0;} ...

如何用c++编写一个判断是否为“质数”;的程序???用最简单的程序编写
include<stdio.h> include<math.h>int isprime(int num){ for(int i=2;i<=sqrt(num*1.0);++i){ if(num%i==0) return 0;} return 1;} int main(){ if(isprime(你的数字)){ printf("质数");} else { printf("非质数");} } ...

C++判断一个数是否为质数
include <stdio.h> include <math.h> int isPrime(int p){ int i;for (i=2;i<=sqrt((double)p);i++){ if(p%i==0)return 0 ;} return 1 ;} int main(){ int n;scanf("%d",&n);if(isPrime(n))printf("yes\\n");else printf("no\\n");return 0;} ...

用isprime的C++编写分解质因数的程序
}int main() {int n,an,flag;while(1) {printf("输入一个整数(0 -- 65535):");if(scanf("%d",&n) != 1 || n < 0 || n > 65535) {printf("数据错误。\\n");fflush(stdin); \/\/ 刷新键盘输入缓冲区用以清除非数字字符响应scanf("%d",&n)continue;}printf("%d = ",n)...

用C语言编写一个程序,设计一个判断素数的函数
h>int IsPrime(int n) \/\/ 判断是否为素数{ if (n <= 1) return 0; if (n % 2 == 0) return n == 2; \/\/ 如果是偶数,只要不是2,其他都是非素数 for (int i = 3; ; i += 2) { if (i > n\/i) break; \/\/ 等价于 i*i > n, 不用开方 ...

用C语言编程:编写一函数判别某一数是否为素数,若是,返回值为1;否则...
void main(){ int a,c;int isSus(int n);\/*函数声明*\/ printf("请输入一整数a:\\n");scanf("%d",&a);c=isSus(a);\/*函数调用*\/ printf("%d",c);printf("\\n");} int isSus(int n)\/*函数定义*\/ { int j,t;for(j=2;j<n;j++)if(n%j==0){ t=0;break;} else t=1...

用C++编写一个判断素数合数的程序,要求输入素数时显示出“此数是素 ...
bool prime(int n)\/\/判断是否为素数 { int i;bool flag=true;for(i=2;i<=n\/2;i++)if(n%i==0)flag=false;if(flag==true||n==2)return 1;\/\/是的话返回 true return 0;\/\/否则 flase } int fun(int n)\/\/将合数分解,这里用了函数的递归调用 { int i;if(prime(n)){cout<<n...

如何用C++写一个关于判断一个数是否为素数的程序!
if(number %i==0)return false;return true;} void printNum(intnumber){//打印出<=number的所有质数 int j=0;for(inti=2;i<=number;i++)if(isPrimeNumber(i)==true){ cout<<("%-5d",i)<<"";j++;if(j%10==0)//每隔十个数字换行 ...

相似回答