/*************************************************************************
> File Name: b1.h
> Author: Palmer XU
> Mail:
> Created Time: Sat 29 Mar 2014 09:27:01 PM EDT
************************************************************************/
#ifndef __B1_H__
#define __B1_H__
#include<stdio.h>
typedef double cyc(int);
double cyc_c(int);
#endif
/*************************************************************************
> File Name: b1_fun.c
> Author: Palmer XU
> Mail:
> Created Time: Sat 29 Mar 2014 09:31:13 PM EDT
************************************************************************/
#include"b1.h"
double cyc_c(int num)
{
int i;
double sum = 0;
if(num > 0 && num % 2 == 1)
{
for(i = 1;i <= num;i+=2)
{
sum += 1.0 / i;
}
}
else if(num > 0 && num % 2 == 0)
{
for(i = 2;i <= num;i += 2)
sum += 1.0 / i;
}
else
return -1;
return sum;
}
/*************************************************************************
> File Name: b1.c
> Author: Palmer XU
> Mail:
> Created Time: Sat 29 Mar 2014 10:01:34 PM EDT
************************************************************************/
#include"b1.h"
int main(void)
{
cyc *cy = cyc_c;
printf("%lf\n",cy(3));
return 0;
}