No.1ベストアンサー
- 回答日時:
複利計算ですか・・・
授業の課題か何かですかね?
そうだったら教科書を見れば詳しく書いてあると思います。
数学的にどのように計算をすればよいのかは理解できているのであとはC言語に直すだけですね。
答えを教えるのは簡単ですが、それをやるとあなたの質問がこのWEBサイトの禁止事項である
「課題等の丸投げ」になるのでヒントを書きますね。
まず、教科書をみてわからないなら次のあたりをみて関数を練習してください。
http://www5c.biglobe.ne.jp/~ecb/c/07_01.html
そして、次に 足し算を行う簡単な関数の例を示しました。
数学的にいえば複利計算のような難しいものではなく
a + b
を行う簡単なものです。
これを元に (1+r/100)^c を考えてみては?
ちなみに ^c は累乗を表しているかと思いますが累乗の計算には pow 関数という便利な関数があります。
http://www.bohyoh.com/CandCPP/C/Library/pow.html
/* プログラムの例 ちなみにコピペしてもコンパイルできませんよ */
#include <stdio.h>
#include <math.h>
int sum(int a, int b){
int result = 0;
result = a + b;
return result;
}
int main(void){
int wa ;
wa = sum(1, 2);
printf("1 + 2 = %d\n", wa);
}
int main()は後ろに来るんですね。
わからなかった色々な部分を書いてくれたので大方作ることができました。
ありがとうございました。
No.5
- 回答日時:
因みに、計算結果の確認は
http://www.jabankosaka.or.jp/pb/pb/kinyukeisan/H …
で行えます。
先ほどの回答の実行例
年利(%)=1.21
元本(円)=100000000
期間(年)=20
利子(円)=27194548
元利(円)=127194548
であれば
元金 [10000] 万円を、金利が 年 [1.21] % の
[12] ヵ月複利で複利運用すると、
[20] 年後にはいくらになるか ?
と入力([]で括った部分が入力)して「計算」を押すと
元利合計額 12,719.45万円
年平均利回り 1.360%
と表示され、金額が正しい事が判ります。
※質問文では「年a% の複利」となっていますので、上記ページでは「[12] ヵ月複利」と入力しています。12ヶ月=1年、ですので。
No.4
- 回答日時:
#include <stdio.h>
int kinri(double nenri,int kingaku,int nensu)
{
int nen,rishi;
double riritsu;
double kinri;
riritsu = (1.0 + nenri / 100.0); /*1年の元利率*/
kinri = 1.0;
for (nen = 1;nen <= nensu;nen++) {
kinri *= riritsu; /*年数で乗する*/
}
kinri *= kingaku; /*元本の額を掛けると元利合計になる*/
kinri += 0.5; /*0.5を足してから*/
rishi = (int)kinri; /*整数に変換すると小数第1位で四捨五入になる*/
rishi -= kingaku; /*元利合計から元本を引くと利子になる*/
return rishi; /*求めた利子を返す*/
}
main(void)
{
double nenri;
int kingaku,nensu,rishi,ganri;
printf("年利(%)=");
scanf("%lf",&nenri); /*年利の入力。実数*/
printf("元本(円)=");
scanf("%d",&kingaku); /*元本の入力。整数*/
printf("期間(年)=");
scanf("%d",&nensu); /*年数の入力。整数*/
rishi = kinri(nenri,kingaku,nensu); /*利子を求める*/
ganri = kingaku + rishi; /*元利(元本+利子)を求める*/
printf("利子(円)=%d\n",rishi); /*利子の表示*/
printf("元利(円)=%d\n",ganri); /*元利合計の表示*/
return 0;
}
実行例
C:\TEMP>kinri
年利(%)=1.21
元本(円)=100000000
期間(年)=20
利子(円)=27194548
元利(円)=127194548
C:\TEMP>
皆さんのおかげで粗方できていたんですが、計算結果がおかしかった理由がおかげでわかりました。
とても初歩的だったのですが、変換仕様を誤って計算がおかしくなっていたようです。
ありがとうございました。
No.3
- 回答日時:
わからないのは「関数定義の仕方」と「関数の使用方法」のどちらでしょうか?
>#1
規約は改正されて丸投げ禁止ではなくなりましたよ。
http://faq.okwave.jp/EokpControl?&tid=950130&eve …
まぁそれでも褒められた事でないのは確かですが。
No.2
- 回答日時:
#1 の中にもありますけど, printf っていう関数を呼び出したことはありませんか? それと同じで, (正確ではないけど) 「
関数名のあとにかっこを書き, (必要なら) その中に引数をコンマで区切って並べる」だけで呼び出せますね.お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- その他(ビジネススキル・経営ノウハウ) 貸付金 利息、無利息 回答お願いします。 会社経営者です。 例えば、 従業員に40万貸付 返済期間 7 2023/01/22 09:32
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) エクセルで所得税計算をする際に関数を利用したいと思っています。 3 2022/11/18 01:23
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
整数データの配列から同じ値の...
-
C言語での引数の省略方法
-
次のプログラムを教えてくださ...
-
C言語での奇数の和
-
複数桁10進数の*桁目だけを抽出...
-
ゴールドバッハの予想のプログラム
-
c言語の配列を使ってサイコロを...
-
C言語 エラーの原因がわからな...
-
VB6でAddressOfを使った良いサ...
-
実数の整数部,小数部の取得
-
gccで64ビット整数
-
acceptをalarmでタイムアウトさ...
-
【C++】関数ポインタの使い方
-
シグマ公式・・・C言語
-
「{ } で囲むだけ」は正しい?
-
(int *)の意味
-
へんな現象
-
アスタリスクで正方形
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報