第十六周项目二--有些数的阶乘算不了

来源:互联网 发布:番茄能生吃吗 知乎 编辑:程序博客网 时间:2024/04/30 17:00

问题及代码:

/**Copyright (c)2015,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:text.cpp*作    者:尚 月*完成日期:2015年 06 月 21 日*版 本 号:v1.0**问题描述:求n!的函数,当用户的输入为负数时,以及输入数太长时(例如大于12),使用异常处理机制予以拒绝,并给出恰当提示。*程序输入:任意数*程序输出:求出阶乘或给出提示*/#include <iostream>using namespace std;int fac(int n){    int f=1;    if(n<0)        throw string("太可爱了亲,负数怎么能阶乘呢!");    else if(n>12)        throw n;    for(int i=1; i<=n; i++)        f*=i;    return f;}int main( ){    int n;    try    {        cout<<"您要阶乘的数是:";        cin>>n;        cout<<n<<"!="<<fac(n)<<endl;    }    catch(int)    {        cout<<"抱歉,数太长了懒得算!请换一个"<<endl;    }    catch(string s)    {        cout<<s<<endl;    }    return 0;}


运行结果:

学习总结:写这个程序是遇到点儿小障碍,string s那总是有错误,还是看了贺老的才改对~~

0 0
原创粉丝点击