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

 C 語言經典100例