作者:佚名 时间:2023-09-07 09:14:35 阅读:(41)
今天云梦编程为大家分享一个C语言的经典案例编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数 1/1+1/3+...+1/n的程序写法,有需要的小伙伴可以参考一下:
(1)、先判断是奇数还是偶数 * 2 、分数分子都是一,偶数分母从 2 开始,奇数的分母从 1 开始,分母差值都为 2
(2)、分数分子都是一,偶数分母从 2 开始,奇数的分母从 1 开始,分母差值都为 2
#include <stdio.h> int main() { float peven(),podd(),dcall(); float sum; int n; while (1) { scanf("%d",&n); if(n>1) break; } if(n%2==0) { printf("Even="); sum=dcall(peven,n); } else { printf("Odd="); sum=dcall(podd,n); } printf("%f",sum); } float peven(int n) { float s; int i; s=1; for (i=2;i<=n;i+=2) s+=1/(float)i; return(s); } float podd(n) int n; { float s; int i; s=0; for (i=1;i<=n;i+=2) s+=1/(float)i; return(s); } float dcall(fp,n) float (*fp)(); int n; { float s; s=(*fp)(n); return(s); }</stdio.h>
#include <stdio.h> float pEven(int n) { float sum = 0; for (float i = 2; i <= n; i += 2) { sum += 1 / i; } return sum; } float pOdd(int n) { float sum = 0; for (float i = 1; i <= n; i += 2) { sum += 1 / i; } return sum; } float dcall(float (*fp)(int n), int n) { float s = fp(n); return s; } int main() { int n = 0; float sum = 0; while (1) { scanf("%d", &n); if (n < 1) break; else if ((n % 2) == 0) { printf("Even = "); sum = dcall(pEven, n); } else { printf("Odd = "); sum = dcall(pOdd, n); } printf("%f", sum); } system("pause"); return 0; }</stdio.h>
以上就是云梦编程为大家介绍的关于编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n的全部内容了,希望对大家有所帮助,了解更多相关文章请关注云梦编程网!