C语言:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用

C语言:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。#include<std... C语言:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。
#include<stdio.h>
void main()
{........
展开
 我来答
vionit
推荐于2017-10-07 · TA获得超过1001个赞
知道小有建树答主
回答量:810
采纳率:66%
帮助的人:473万
展开全部
#include <stdio.h>
float sum1(int n);
float sum2(int n);
void main(){
    int n;
    scanf("%d",&n);
    float (*sum)(int n);
    if (n<1) {
    printf("输入整数不在范围");
    }
    else if(n%2==1){
    sum=sum1;
    printf("%f",sum(n));
    }
    else if(n%2==0){
    sum=sum2;
    printf("%f",sum(n));    
    }
}
float sum1(int n){
    float temp,sum;
    for(int i=1;i<=n;i++){
        if(i%2==1){
        temp=1.0/float(i);
        sum+=temp;
        }
    }
    return sum;
}
float sum2(int n){
    float temp,sum;
    for(int i=1;i<=n;i++){
        if(i%2==0){
        temp=1.0/float(i);
        sum+=temp;
        }
    }
    return sum;
}
//需要自己调试一下,没有上机测试。
追问
void main前面两个float是什么意思?   为什么放在那?  →_→    老师没教过
追答
你是说前面那两个语句吧,提前声明函数体,相当于在头文件中声明,便于main()引用。
这个是比较基本的,也是有用的,老师应该教的。
可能是我说的不太准确,基本这么个意思。我是自学的,不是老师教的。
我那个函数可能写的不太高效,不过指针基本用法应该就是这个了。
zhhm59
2014-12-15
知道答主
回答量:24
采纳率:0%
帮助的人:19.2万
展开全部
#include "stdio.h"
float peven(int n)

float s; 
int i; 
s=1; 
for(i=2;i<=n;i+=2) 
s+=1/(float)i; 
return(s); 
}
 
float podd(int n) 

float s; 
int i; 
s=0; 
for(i=1;i<=n;i+=2) 
s+=1/(float)i; 
return(s); 
}
 
float dcall(float (*fp)(int n),int n) 
{
float s; 
s=fp(n); 
return(s); 

void main()

float sum; 
int n; 
        printf("输入整数:");
while (1) 

scanf("%d",&n); 
if(n<1)
break;
else if(n%2==0) 

printf("Even="); 
sum=dcall(peven,n); 

else 

printf("Odd="); 
sum=dcall(podd,n); 

printf("%f",sum); 
}
}

 //编译通过了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式