//根据一下公式计算s,并将计算结果作为函数返回值,n通过形参传入。s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n)
1 #include <stdio.h> 2 3 float fun(int n) 4 { 5 float s=1.0; 6 int x=0; 7 for (int i = 2; i <= n; i++) 8 { 9 for (int j = i; j > 0; j--) 10 { 11 x += j; 12 } 13 s += 1 / (float)x; 14 x = 0;//切记x归零。 15 } 16 return s; 17 } 18 19 void main() 20 { int n; float s;22 printf(" Please enter N:"); scanf("%d", &n); 23 s = fun(n); 24 printf("the result is: %f ", s);26 }
//另一种方法:
1 float fun(int n) 2 { 3 float s=0.0; 4 int x=0; 5 for (int i = 1; i <= n; i++)//i初始值为1 6 { 7 x += i; 8 s += 1 / (float)x; 9 } 10 return s; 11 }
//使用递归解决
1 float fun(int n) 2 { 3 float m = 0; 4 if (n == 1) return 1.0; 5 for (int i = 1; i <= n; i++) 6 { 7 m += i; 8 } 9 return 1 / m + fun(n - 1); 10 }
//在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,找不到相同字符则不做处理。
1 #include <stdio.h> 2 void fun(char *s, char c) 3 { int i, j, n; 4 /**********found**********/ 5 for(i=0; s[i]!='