-3

私のコードは正確な float 値を表示していません。これは、コードによってポイントが表示されないことを意味します。シリーズ 1 + 1/3 + 1/5 + 1/7 + 1/9+ を合計するために Turbo C を使用しています。 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

4 に答える 4

3

整数(つまり、整数)値intのみを表示するものを使用しています。小数点以下は必要ないと見なされるため、小数点以下は切り捨てられます。代わりにorを使用してみてください。floatdouble

于 2013-06-27T18:12:32.377 に答える
1

整数除算では、整数結果以外は得られません。

必要がある:

  1. sfloat または double に変更します。
  2. mfloat または double に変更します。
  3. orに変更1します (それぞれ float と double の場合)。1/j1.0f1.0

mここで、計算の開始後にすぐに停止しないように、入力および for ループの制限変数とは異なる変数を使用することも必要になるでしょう。

于 2013-06-27T18:12:54.903 に答える
0

コードで宣言した変数は次のとおりです。

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

浮動小数点数はどこにあると思いますか?
(タイプfloatorである必要がありますdouble)

それがintegerintを意味することを知っていますよね? (例: 浮動小数点数ではありません)

于 2013-06-27T18:34:47.060 に答える
0

double変数mおよびの型を使用しますs

于 2013-06-27T18:12:37.320 に答える