C 練習實例76
題目:編寫一個函數,輸入n為偶數時,調用函數求1/2+1/4+...+1/n,當輸入n為奇數時,調用函數1/1+1/3+...+1/n(利用指針函數)。
程式分析:無。
實例
// Created by www.xuhuhu.com on 15/11/9.
//
//
#include<stdio.h>
#include<stdlib.h>
double evenumber(int n);
double oddnumber(int n);
int main()
{
int n;
double r;
double (*pfunc)(int);
printf("請輸入一個數字:");
scanf("%d",&n);
if(n%2==0) pfunc=evenumber;
else pfunc=oddnumber;
r=(*pfunc)(n);
printf("%lf\n",r);
system("pause");
return 0;
}
double evenumber(int n)
{
double s=0,a=0;
int i;
for(i=2;i<=n;i+=2)
{
a=(double)1/i;
s+=a;
}
return s;
}
double oddnumber(int n)
{
double s=0,a=0;
int i;
for(i=1;i<=n;i+=2)
{
a=(double)1/i;
s+=a;
}
return s;
}
以上實例運行輸出結果為:
請輸入一個數字:2 0.500000