发布时间:2025-04-17 18:52:27 作者:佚名 阅读:(65)
今天为大家分享一个C语言的经典案例。该程序根据输入的整数n判断其奇偶性,如果n为偶数,则调用函数求解1/2 + 1/4 + ... + 1/n 的和;如果n为奇数,则调用函数求解1/1 + 1/3 + ... + 1/n的和。通过该案例,可以帮助大家更好地理解条件判断和循环语句的使用。
(1)、先判断是奇数还是偶数 * 2 、分数分子都是一,偶数分母从 2 开始,奇数的分母从 1 开始,分母差值都为 2
(2)、分数分子都是一,偶数分母从 2 开始,奇数的分母从 1 开始,分母差值都为 2
#includeint 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); }
#includefloat 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; }
以上就是云梦编程为大家介绍的关于编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n的全部内容了,希望对大家有所帮助,了解更多相关文章请关注云梦编程网!
© 2023 - 云梦编程网 版权所有 鲁ICP备2021017318号-4