有些数的阶乘不算了
输入代码:
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名:sum123.cpp * 作 者: 林海云 * 完毕日期:2015年8月20日 * 版 本 号:v2.0 * * 问题描写叙述:求n!的函数,当用户的输入为负数。以及输入数太大时(比如大于12),使用异常处理机制予以拒绝,并给出恰当的提示。 * 输入描写叙述:输入一个数; * 程序输出:输出相应的情况; */ #include<iostream> using namespace std; int fac(int n) { int result=1; if(n<0) throw string("參数错误,不能为负数!"); if(n>12) throw n; while(n) { result*=n; n--; } return result; } int main() { int n; try { cout<<"请输入一个数字n:"; cin>>n; cout<<n<<"!="<<fac(n)<<endl; } catch(int) { cout<<"输入数字的阶乘结果太大,无法显示!"<<endl; } catch(string s) { cout<<"发生异常:"<<s<<endl; } return 0; }
执行结果: