我的C ++代码没有显示浮点值

时间:2013-06-27 18:09:14

标签: c++ floating-accuracy

我的代码未显示确切的浮点值表示代码未显示点后的数字 我使用Turbo C来总结系列1 + 1/3 + 1/5 + 1/7 + 1/9 + ......最多N个术语

#include<iostream.h>
#include<conio.h>
void main()
{
    int k=0;
    int m=0;
    int s=1;
    clrscr();
    cout<<"Enter the limit of the series: ";
    cin>>m;
    for(int j=1;j<=m;j=j+2)
    {
          m=1/j;
          s+=m;
    }
    cout<<"Sum of the given series is: "<<s;
    getch();
}

4 个答案:

答案 0 :(得分:3)

您正在使用仅显示整数(即整数)值的int。它会截断任何小数位,因为它假定您不需要它们。请尝试使用floatdouble

答案 1 :(得分:1)

除了整数结果之外,整数除法不会给你任何东西。

你需要:

  1. s更改为浮点数或双精度数。
  2. m更改为浮点数或双精度数。
  3. 1中的1/j更改为1.0f1.0(分别为浮动和双倍)。
  4. 现在,您可能还希望为输入和for循环限制变量使用与m不同的变量,以便在计算开始后不会停止太快。

答案 2 :(得分:0)

对变量doublem使用s类型。

答案 3 :(得分:0)

以下是您在代码中声明的变量。

int k=0;
int m=0;
int s=1;

您认为自己的浮点数到底在哪里? (必须是floatdouble类型

你知道int表示整数,对吗?
(例如,不是浮点数)