C++学习记录04

// 10计算1-1/2+1/3-1/4+……+1/99-1/100//

正确

#include "stdafx.h"

#include<stdio.h>

void main()

{

int i,sign;

float u;

float s=1;

for(i=2;i<101;i++)

{

if(i%2==0)sign=-1;

else sign=1;

u=sign*1.0/i;

s=s+u;

}

printf("%f\n",s);

}

运算结果为0.688172

错误的

// 10计算1-1/2+1/3-1/4+……+1/99-1/100//


#include "stdafx.h"

#include<stdio.h>

void main()

{

int i,sign;

float u;

float s=1;

for(i=2;i<101;i++)

{

if(i%2==0)u=(-1)*(1/i);

else u=1/i;

s=s+u;

}

printf("%f\n",s);

}

运行结果为1.000000

下面的错误的原因是u=1/i,当分子坟墓都为整数时,最后的分数值会取整

本文出自 “7883538” 博客,谢绝转载!

你可能感兴趣的:(记录,include,C学习)