求编一个小程序C++:判断一个数是否是质数,考虑异常情况。
发布网友
发布时间:2022-04-26 21:44
我来回答
共3个回答
热心网友
时间:2023-11-06 20:39
#include<iostream>
using namespace std;
int judge(int n)//判断一个自然数是否为质数
{
for(int i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}
void main()
{
float n;
cout<<"输入一个数字:"<<endl;
cin>>n;
int m;
m=(int)(n);
try
{
if(n<=0||n!=m) throw m;//异常检测,判断否为负数或者不为整数
if(n>0&&n==m) throw "ok";
}
catch(int)
{
cout<<"数字不合法"<<endl;
}
catch(char *)
{
if(judge(n))
cout<<"素数"<<endl;
else
cout<<"非素数"<<endl;
}
}
PS:其实ls说的很对
热心网友
时间:2023-11-06 20:39
有啥异常情况?
实数? 复数? 或者是字符串?
关键是没必要用异常处理,明明可以用if来判断.
一般来说异常处理的是未知不明的问题.
热心网友
时间:2023-11-06 20:40
#include <iostream>
using namespace std;
int P(int n)
{
int i;
if(n<2) return 0;
for (i=2; i<n; i++)
if( (n%i)==0 ) return 0;
return 1;
}
int main()
{
int i;
for (i=1; i<=100; i++)
if(P(i)) cout << i <<" ";
cout<<endl;
return 0;
}