一道小题,╮(╯▽╰)╭

#include <stdio.h>

/*jie cheng
*
* 1 + 2! + 3! + ... + N!
*
*
*/

int factorial(int val)
{
    if(val > 1)
    {    
        //printf("val %d\t",val);
        return val*factorial(val - 1);
    }
    else if(val == 1)
    {
        return 1;
    }    
}


int main(int argc, char **argv)
{
    int val = 0;

    printf("please input your val :\n");

    scanf("%d",&val);

    int ret = 0;

    do
    {
        ret = ret + factorial(val);

    }while(--val);//不是val--,多谢 garbageMan提醒,虽然结果相同,意义却不同,对i-- --i需要注意!

    printf("\nret  %d\n",ret);    

    return 0;
}

 文中只是提供了一个思想而已,实际使用中是需要做一些处理的,比如缓冲区的大小等。

相关文章:

  • 2021-07-07
  • 2022-12-23
  • 2021-11-14
猜你喜欢
  • 2021-08-26
  • 2021-08-02
  • 2021-09-11
相关资源
相似解决方案