运用函数的递归求1*3*5*.......*n

来源:互联网 发布:贵金属看盘软件 编辑:程序博客网 时间:2024/05/18 01:28
/** 程序的版权和版本声明部分:* Copyright (c) 2013.烟台大学计算机学院。* All rights reserved.* 作    者:张凯* 完成日期:2013 年 11月 22 日* 版 本 号:v1.0* 输入描述:输入一个整数* 问题描述:上机实践* 程序输出:这个数的阶乘* 问题分析:1*3*5....*n* 算法设计:函数的递归调用*/#include <iostream>using namespace std;long f(int t);int main(){    int n;    cout<<"请输入一个整数"<<endl;    while(cin>>n){    if(n%2==0)    {        cout<<"输入错误,请您输入一个奇数"<<endl;    }
    else if(n<0)
     {
         
        cout<<"输入错误,请您输入一个正奇数"<<endl;
     }    else    {        break;    }}         cout<<"1*3....*"<<n<<"="<<f(n)<<endl;         return 0;}long f(int a){    int sum;    if(a==1)    {        return 1;    }    else if (a==3)    {        return 3;    }    else    sum=a*f(a-2);    return sum;}
运行结果(如下图)
                  

                              

心得体会:这样更人性化,完成作业的同时总希望能添加一些自己的东西。