求解答万分感谢
用递归函数编程计算1!+3!+5 +···+n!(n为奇数)
2014-12-12 09:05
2014-12-12 09:08
2014-12-12 09:14
2014-12-12 09:15
2014-12-12 09:53
程序代码:#include <stdio.h>
int fan (int n);
int main ()
{
int n,s;
printf("Enter an integer:\n");
scanf("%d",&n);
s=fan(n);
printf("1^2+2^2+...+n^2= %d\n",s);
return 0;
} // main
int fan (int n)
{
if(n==1)
return 1;
else
return n*n+fan(n-1);
} // fan
2014-12-12 10:47
2014-12-12 10:54
2014-12-12 11:09
程序代码:
#include <stdio.h>
//gcc编译时取消下行注释
//#include <inttypes.h>
unsigned long long foobar(int n) {
unsigned long long foo;
if(1 == n || 0 == n) {
foo = 1;
} else {
foo = foobar(n - 1) * n;
}
return foo;
}
unsigned long long add(int n) {
unsigned long long sum = 0;
if(1 == n) {
sum = 1;
} else {
sum = add(n - 2) + foobar(n);
}
return sum;
}
int main(void) {
int n;
printf("INPUT N: ");
scanf("%d", &n);
if(n >= 3 && n % 2 != 0) {
//gcc编译时取消下行注释
//printf("1!+3!+...+n! = %"PRIu64"\n", add(n));
printf("1!+3!+...+n! = %lld\n", add(n));
} else {
printf("input arror!\n");
}
return 0;
}

2014-12-12 12:58