【问题描述】
编写一个函数isprime(n).判断整数n是否为素数.编写程序使用此函数,当输入一个整数时,对它进行判断,当为素数时,输出1.否则,输出0.
【输入形式】
控制台输入一个整数.
【输出形式】
控制台输出判断结果0或者1.
【样例输入】
45
【样例输出】
0
【样例说明】
45非素数,故输出为0
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,n;
cin>>a;
int isprime(int a);
if(a!=1&&a!=0){
cout<<isprime(a);}
else cout<<0;
return 0;
}
int isprime(int a) // 判断是否为素数的子函数
{
int b=1;
int n=2;
if(a<0){
a=-a;
for(;n<sqrt(a);n=n+1){
if(a%n==0){
b=0;
break;}
}
}
else for(;n<sqrt(a);n=n+1){
if(a%n==0){
b=0;
break;}
}
return b;
}
请问哪里错了