编写一个函数, 输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n 为奇数时,用函数I 1/1+1/3+...+1/n(利用函数指针)

#include "stdio.h"
double osh(int n)//偶数和
{
double sum=0;
int i;
    for(i=2;i<=n;i+=2)
        sum+=1.0/i;     
    return sum;
}
double jsh(int n)//奇数和
{
double sum=0;
int i;
    for(i=1;i<=n;i+=2)
         sum+=1.0/i;
    return sum;
}
void main()
{
int n;//double sum;
double (*p)(int);//和
printf("请输入一个整数 n:");
scanf("%d",&n);
if(n%2==0)
p= osh;//sum=osh(n);
else
p= jsh;//sum=jsh(n);
printf("\n和是: s = %lf",(*p)(n));//sum

}

结果:

n=5  s=1.533333=1/1+1/3+1/5

你可能感兴趣的:(编写一个函数, 输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n 为奇数时,用函数I 1/1+1/3+...+1/n(利用函数指针))