/* Part4 演習問題4 */
/* 定期預金の元利合計 */
#include <stdio.h>

int main(void)
{

  int b ;     /* 元金 */
  int n ;     /* 預け入れ年数 */
  double r ;  /* 年利率(%)  */
  int s ;     /* 元利合計 */
  int i,j ;
  double p ;
 
  /* 文字%を出力するには,%%と指定 */
  printf("元金(円) 預け入れ年数 年利率(%%):") ;
  scanf("%d %d %lf",&b,&n,&r) ;

  if((b<=0)||(n<=0)||(r<=0)) {
    printf("入力データが誤りです。\n") ;
    return(1) ;
  }
 
  printf("\n元金(円)  :%d\n",b) ;
  printf("預け入れ年数:%d\n",n) ;
  printf("年利率(%%)   :%f\n\n",r) ;

  for(i=1;i<=n;i++) {
    p=1 ;
    for(j=1;j<=i;j++) p = p*(1+r/100) ;

    s=b*p ;
    printf("%d年後の元利合計:%d\n",i,s) ;
  }

  return(0) ;
}

% gcc -Wall part4-4.c
% ./a.out
元金(円) 預け入れ年数 年利率(%):10000 0 0.0
入力データが誤りです。

% ./a.out
元金(円) 預け入れ年数 年利率(%):100000 5 0.2

元金(円)  :100000
預け入れ年数:5
年利率(%)   :0.200000

1年後の元利合計:100200
2年後の元利合計:100400
3年後の元利合計:100601
4年後の元利合計:100802
5年後の元利合計:101004

% ./a.out
元金(円) 預け入れ年数 年利率(%):100000 5 1

元金(円)  :100000
預け入れ年数:5
年利率(%)   :1.000000

1年後の元利合計:101000
2年後の元利合計:102010
3年後の元利合計:103030
4年後の元利合計:104060
5年後の元利合計:105101

  1. 最初の例は,入力データに誤りがある(「預け入れ年数」が0となっている).
  2. 2番目の例は,元利10万円,預け入れ年数5年,年利率0.2%を入力した例である.5年後に受け取る元利合計金額は10万1千4円となる.
  3. 3番目の例は,元利10万円,預け入れ年数5年,年利率1%を入力した例である.5年後に受け取る元利合計金額は10万5千百1円となる.