C++ 我的C++;不显示浮点值的代码
我的代码未显示精确的浮点值意味着代码未显示点后的数字 我使用Turbo C来总结系列1+1/3+1/5+1/7+1/9+…。。最多N个术语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>
#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)你实际得到什么输出。这个问题在所有三点上都失败了。