C++ 我的C++;不显示浮点值的代码

C++ 我的C++;不显示浮点值的代码,c++,floating-accuracy,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>

我的代码未显示精确的浮点值意味着代码未显示点后的数字 我使用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();
}
#包括
#包括
void main()
{
int k=0;
int m=0;
int s=1;
clrsc();
coutm;

对于(int j=1;j您使用的是只显示整数(即整数)的
int
)值。它会截断任何小数位,因为它假定您不需要它们。请尝试改用
float
double

对变量
m
s
使用
double

整数除法只能得到整数结果

您需要:

  • s
    更改为浮点或双精度
  • m
    更改为浮点或双精度
  • 1/j
    中的
    1
    更改为
    1.0f
    1.0
    (分别用于浮点和双精度)

  • 现在,您可能还希望为输入和循环限制变量使用不同于
    m
    的变量,以便在计算开始后不会太快停止。

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

    int k=0;
    int m=0;
    int s=1;
    
    您认为您的浮点数具体在哪里?
    (必须为
    float
    double
    类型)

    您知道
    int
    表示整数,对吗?

    (例如,不是浮点数)

    int
    与整数一样。改用
    double
    。重复数百次。每当你问问题时,你都应该清楚地说明(1)你给了程序什么输入,(2)你期望什么输出,以及(3)你实际得到什么输出。这个问题在所有三点上都失败了。