用C++编写函数判别一个数是否是质数,在主程序中实现输入输出

如题所述

第1个回答  2019-12-31
先定义整型变量n,输入n,通过判断函数判断,最后输出。
例如:
//参考代码如下:
#include "iostream"
#include "stdio.h"
using namespace std;
int fun(int n){//判断函数,是质数返回1,否则返回0
int ans =1;
for(int i=2;i<n;i++)//从2到n-1判断能否整除n
if(n%i==0){
ans=0;
break;
}
return ans;

}
int main()
{
int n;
cin>>n;//输入n
if(fun(n))//判断输出
cout<<n<<"是质数";
else

cout<<n<<"是合数";
return 0;
}
/*
运行结果:
29
29是质数
*/
第2个回答  2019-11-20
#include
<iostream>
using
namespace
std;
#include
<math.h>
//此为数学函数库。程序中要用到数学函数时必须包含此语句。
void
f(int
n)
//此函数只判断是否为素数。
{
int
i,j=0;
for(i=2;i<=sqrt(n);i++)
//这是使程序运算次数最少的方法,若将sqrt(n)换成n/2,
//程序运算次数将要增加,若换成n,运算量最大,也最浪费。
//另外,若i=1,显然不满足,故直接i=2。
if(n%i==0)
j++;
//j在这里只起标识作用,若为0不变则说明是素数,否则为非素数。
if(n==0||n<0)
cout<<"数据错误!"<<"\a"<<endl;
//“0和负数”显然不是处理的对象。
else
if(n==1)
cout<<"这个数不是素数。"<<endl;
//“1”要特殊处理。
else
{
if(j==0)
cout<<"这个数是素数。"<<endl;
else
cout<<"这个数不是素数。"<<endl;
}
}
int
main()
{
int
n;
cout<<"请输入要检验的整数:"<<endl;
cin>>n;
f(n);
return
0;
}
相似回答