问题描述:
项目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; }
运行结果:
时间: 2024-10-01 23:52:30