今、C++言語を勉強中です。
そこで数表を作るみたいな例題があるのですがどうしても思ったとおりになってくれません。
いろんなことを考えましたが自分の力ではどうにもなりません・・・・。
そこで間違いがあれば指摘していただけたらと思い質問させていただきます。
以下がそのプログラム?です。よろしくお願いします。
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
main()
{
int n ; double n3 , n5;
cout << setw(5) << "n"
<< setw(10) << "1/n"
<< setw(10) << "n^1/3" << "\n";
cout << setiosflags(ios::fixed);
for(n=1 ; n<=25 ; ++n)
{
n3=1/n ; n5=pow(n,1/3) ;
cout << setw(5) << n
<< setw(10)
<< setprecision(5) << n3
<< setw(10)
<< setprecision(5) << n5 << "\n" ;
}
return 0 ;
}
No.1ベストアンサー
- 回答日時:
整数型のせいで桁落ちしているとか。
n3、n5の計算式をdoubleでキャストしてみてはどうでしょう。
n5=pow((double)n,(double)1/3) ;
No.2
- 回答日時:
doubleを使う場合はたとえ整数でもすべて小数点付きにしてください。
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
main()
{
double n, n3 , n5;
cout << setw(5) << "n"
<< setw(10) << "1/n"
<< setw(10) << "n^1/3" << "\n";
cout << setiosflags(ios::fixed);
for(n=1.0 ; n<=25.0 ; ++n)
{
n3=1.0/n ; n5=pow(n,1.0/3.0) ;
cout << setw(5) << n
<< setw(10)
<< setprecision(5) << n3
<< setw(10)
<< setprecision(5) << n5 << "\n" ;
}
return 0 ;
}
結果はこんな風です。
n 1/n n^1/3
1.000000 1.00000 1.00000
2.00000 0.50000 1.25992
3.00000 0.33333 1.44225
4.00000 0.25000 1.58740
5.00000 0.20000 1.70998
6.00000 0.16667 1.81712
7.00000 0.14286 1.91293
8.00000 0.12500 2.00000
9.00000 0.11111 2.08008
10.00000 0.10000 2.15443
11.00000 0.09091 2.22398
12.00000 0.08333 2.28943
13.00000 0.07692 2.35133
14.00000 0.07143 2.41014
15.00000 0.06667 2.46621
16.00000 0.06250 2.51984
17.00000 0.05882 2.57128
18.00000 0.05556 2.62074
19.00000 0.05263 2.66840
20.00000 0.05000 2.71442
21.00000 0.04762 2.75892
22.00000 0.04545 2.80204
23.00000 0.04348 2.84387
24.00000 0.04167 2.88450
25.00000 0.04000 2.92402
Press any key to continue
お二方にまとめてお礼申し上げます。
どちらの方法でもうまくいきました。
これからもがんばっていきたいと思います。
ポイントは回答してくださった順番につけたいと思います。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
2分法で方程式の複数の解を自...
-
doubleの変数にintとintの割り...
-
至急です! マクロ定義で #defi...
-
float型とdouble型の変数の違い...
-
-1.#IND00と出てしまうのですが...
-
C言語で-23乗を取り扱うには
-
C 開放してるのにエラー(doubl...
-
C言語 関数プロトタイプ宣言の...
-
C# 浮動小数の数値文字列化
-
DWORDの警告
-
線形補間
-
1円、2円、3円・・・と貯金...
-
Cで3乗根を求める方法
-
C言語でのsinxのマクローリン展...
-
関数におけるif文とreturn文に...
-
「割り算」 と 「分数の掛け算」
-
C言語でdouble型の小数点の引き...
-
int とdoubleの比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
doubleの変数にintとintの割り...
-
C 開放してるのにエラー(doubl...
-
Cで3乗根を求める方法
-
float型とdouble型の変数の違い...
-
至急です! マクロ定義で #defi...
-
C言語の型による処理速度の違い
-
int とdoubleの比較
-
関数におけるif文とreturn文に...
-
C言語初心者 構造体 課題について
-
c言語のコンパイルエラー canno...
-
C言語 関数プロトタイプ宣言の...
-
C言語を実行すると-infが出てき...
-
float?数字の後にLがつくもの
-
数値を指数部と仮数部に分離したい
-
difftime()について
-
浮動小数点数が表示されないん...
-
たくさんの数の平均を求める方...
-
DWORDの警告
-
-1.#IND00と出てしまうのですが...
おすすめ情報