这个C++程序怎么编啊???????????

来源:百度知道 编辑:UC知道 时间:2024/06/04 03:54:42
Sn=1-1/2+1/3-1/4+……+(-1)n+1*1/n
求Sn的最大值和最小值,100=<n<=10000,输出15位有效数字。

谢谢啦~~~~~~~~~~~~~~~~

#include<stdio.h>
main()
{
float sn=0,i,n,max,min;
for(n=100;n<=10000;n++)
{ int k=1;
for(i=1;i<=n;i++)
{
sn+=k/i ;
k=-k;
}
if(n==100)
max=min=sn;
if(max<sn)
max=sn;
if(min>sn)
min=sn;
}
printf("max=%.15f\nmin=%.15f\n",max,min);
}

设置为long double型即保留15位有效数字.
#include<iostream>
using namespace std;
void main()
{
long double sn=0,i,n,max,min;
for(n=100;n<=10000;n++)
{
int k=1;
for(i=1;i<=n;i++)
{
sn+=k/i ;
k=-k;
}
if(n==100)
max=min=sn;
if(max<sn)
max=sn;
if(min>sn)
min=sn;
}
cout<<"max="<<max<<" min="<<min<<endl;
}