![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
C言語で以下の問題で困っています。
「年複利の定期預金を始める。満期時の残高を計算せよ。
・満期時の残高 = 元金×(1+年利率)^年数
・whileを、使う。」
という問題です。そこで、以下のようにプログラムを書きましたが、うまく動きません。どこが、間違っているのでしょうか?分かる方、お願いします。
#include <stdio.h>
main()
{
/*初期化*/
int a=1, m, t;
float b=1, n;
/*値の入力*/
printf ("元金を入力してください。\n");
printf ("元金 =");
scanf ("%d", &m);
printf ("年利率を入力してください。\n");
printf ("年利率 =");
scanf ("%f", &n);
printf ("定期の年数を入力してください。\n");
printf ("定期の年数 =");
scanf ("%d", &t);
while (a <= t){
b = b *(1 + n);
a = a + 1;
}
/*出力*/
printf ("満期時の残高は、%fです。", m*b);
}
No.5ベストアンサー
- 回答日時:
No1、No2 の sunasearch さんの回答に補足します。
scanf() の書式指定は float型⇒%f、double型⇒%lf です。
つまり、husigikazetukai さんのサンプルソースであれば、float型を使っているようですので、%f で問題ありません。
ちなみに、printf() の書式指定は float型、double型に関わらず %f のみで、%lf は未定義だったはずです。
# でも、たいていのコンパイラはこのあたりを無難に処理してくれる
# ようですけどねぇ。
# scanf() の仕様に引きずられて、printf() の場合も double 型に %lf を
# 使ってしまう人が多いせいなんだと思います。
ま、こちらはご参考までに。。。
No.3
- 回答日時:
ちゃんと動いているようだが…
元金を入力してください。
元金 =10000
年利率を入力してください。
年利率 =0.072
定期の年数を入力してください。
定期の年数 =10
満期時の残高は、20042.312145です。
7.2%の複利10年で約2倍になってるよ?
…おかしいトコ気づいた?
複利計算について少しわからない部分がありまして、少し不安でした。やはり、このソースで良かったのですね。
ご回答ありがとうござしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 プログラミング
-
printf で二進表示を行いたい。
-
unsigned int型について
-
scanfに文字が入力されたときに...
-
ヌメロンの対戦相手
-
C言語でマウス入力(クリックや...
-
コマンドラインに出力した文字...
-
円の面積を求めるプログラミン...
-
C言語についてです学籍番号、名...
-
4の倍数を論理演算で表す。。
-
printfのコードは?
-
三角形の判別
-
CPU温度・負荷等を調べるには
-
C言語 関数
-
【C言語教えてください】sin波...
-
LU分解法のピボット選択機能実...
-
cshの文字列操作(0埋め)
-
strcmp
-
パスカルの三角形についてのCプ...
-
プログラム(C言語)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
【C言語教えてください】sin波...
-
printf で二進表示を行いたい。
-
c言語でAからZまでを表示する...
-
コマンドラインに出力した文字...
-
strcmp
-
4の倍数を論理演算で表す。。
-
C言語での、年複利の計算方法...
-
C言語 プログラミング
-
scanfに文字が入力されたときに...
-
hit&bolwのプログラミングがで...
-
%P と %X の違い
-
unsigned int型について
-
printf( " %2d", p * q );
-
cshの文字列操作(0埋め)
-
改行について 1行に何個かづ...
-
8人分のテストの点数を入力し、...
-
入力したお金の金額からお札の...
-
三角形の判別
-
テキストカーソル位置の取得
おすすめ情報