问题描述:
项目2-有些数的阶乘不算了
求n!的函数,当用户的输入为负数,以及输入数太大时(例如大于12),使用异常处理机制予以拒绝,并给出恰当的提示。
代码实现:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n;
try{
printf("请输入一个数:");
scanf("%d",&n);
if(n<0)throw 1;
if(n>12)throw 2;
int sum=1,i;
for(i=n;i>0;--i)sum*=i;
cout<<n<<"的阶乘是"<<sum<<'\12';
}
catch (int t){
if(t==1){
printf("输入错误,请输入一个大于0的数!\n");
}
if(t==2){
printf("输入错误,请输入一个不大于12的数!\n");
}
}
return 0;
}
运行结果: