我的代码未显示确切的浮点值表示代码未显示点后的数字 我使用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();
}
答案 0 :(得分:3)
您正在使用仅显示整数(即整数)值的int
。它会截断任何小数位,因为它假定您不需要它们。请尝试使用float
或double
。
答案 1 :(得分:1)
除了整数结果之外,整数除法不会给你任何东西。
你需要:
s
更改为浮点数或双精度数。 m
更改为浮点数或双精度数。 1
中的1/j
更改为1.0f
或1.0
(分别为浮动和双倍)。 现在,您可能还希望为输入和for循环限制变量使用与m
不同的变量,以便在计算开始后不会停止太快。
答案 2 :(得分:0)
对变量double
和m
使用s
类型。
答案 3 :(得分:0)
以下是您在代码中声明的变量。
int k=0;
int m=0;
int s=1;
您认为自己的浮点数到底在哪里?
(必须是float
或double
类型
你知道int
表示整数,对吗?
(例如,不是浮点数)