C++程序设计 (第三版) 谭浩强 习题4.3
习题 4.3 写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:
#include <iostream>
using namespace std;
void prime(int n);
int main(){
int num;
cout<<"Please enter number: ";
cin>>num;
prime(num);
system("pause");
return 0;
}
void prime(int n){
int i;
for(i = 2; i < n && (n % i != 0); i++);
cout<<n;
i == n ? cout<<" is prime number!" : cout<<" is not prime number!";
cout<<endl;
}
方法2:使用指针,函数的模块化设计,分配内存
#include <iostream>
#include <cmath>
using namespace std;
void inputNum(int *number){
cout<<"Enter Number: ";
cin>>*number;
}
bool isPrime(int *number){
int num = *number;
for(int i = 2; i <= int(sqrt(double(num))); i++){
if(num % i == 0){
return false;
}
}
return true;
}
int main(){
int *number = new int;
inputNum(number);
if(isPrime(number) == true){
cout<<"The number is prime number!"<<endl;
}
else{
cout<<"The number is not prime number!"<<endl;
}
delete(number);
system("pause");
return 0;
}