C Ejercicio Ejemplo 76
Título: Escribir una función que de entrada n es un número par, llame a la evaluación de la función 1/2 + 1/4 + ... + 1 / n, cuando la entrada n es impar, la función se llama 1/1 + 1/3 + .. . + 1 / n (utilice la función de puntero).
Análisis del programa: Ninguno.
Código fuente:
// Created by www.w3big.com on 15/11/9. // Copyright © 2015年 本教程. All rights reserved. // #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; }
Ejecutar la salida anterior ejemplo es:
请输入一个数字:2 0.500000