题目要求:
编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,
当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)。
源码如下:
#include<iostream>
using namespace std;
double* odd_Number(int n) //n为奇数
{
double sum=0;
for(int i=1;i<=n;i+=2)
{
sum=sum+(float)1/i;<span style="white-space:pre"> </span>//注意此处使用的强制转换
}
return ∑
}
double* even_Number(int n) //n为偶数
{
double sum=0;
for(int i=2;i<=n;i+=2)
{
sum=sum+(float)1/i;<span style="white-space:pre"> </span>//注意此处使用的强制转换
}
return ∑
}
int main()
{
int N;
double *Result=NULL;
cin>>N;
if(N%2==0) //判断用户输入的是奇数还是偶数
{
Result=even_Number(N);
}
else
{
Result=odd_Number(N);
}
cout<<*Result<<endl;
return 0;
}
测试结果:
输入:9
输入:8
注:在使用除法运算符的时候,要使用强制转换,不然编译器会自动将结果转换为整型,这样得到的结果就不是我们想要的。
关于指针函数,参见博客: