<一道题>求1 + 2! + 3! + .... + N!
一道小题,╮(╯▽╰)╭
#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; }
文中只是提供了一个思想而已,实际使用中是需要做一些处理的,比如缓冲区的大小等。