プログラミング実習II (2026) 課題

[E10] 復習

(E10_1)

double 型の変数を int 型にキャストすることで小数点以下は切り捨てられる.

double x = 12.45;
int a = (int)x;

printf("%d\n", a );   // 出力結果は 12

これを利用して以下のプログラムを作成せよ.

ある銀行口座では,毎年3月15日の時点でその時の預金残高の 2.5% 相当額の利息がつく.ただし,利息部分の小数点以下は切り捨てられた上で残高に加算されることとする.
この口座に,毎年4月1日に 55,555 円を入金するとき、n = 1, ..., 20 について入金をはじめてから n 年後の3月31日の口座の預金残高を求めて表示するプログラムを作成せよ.また,利息が加算されない場合の預金残高も合わせて表示せよ.

表示例: (printf の書式は %2d %7d %7d)
 1    56943    55555
 2   115310   111110
 3   175136   166665
 4   236458   222220
 5   299313   277775
 6   363739   333330
 7   429776   388885
 8   497464   444440
 9   566844   499995
10   637958   555550
11   710850   611105
12   785565   666660
13   862148   722215
14   940645   777770
15  1021105   833325
16  1103576   888880
17  1188109   944435
18  1274755   999990
19  1363567  1055545
20  1454600  1111100
(E10_2)

キーボードから正の整数 n を受け取る.1 から t までの整数の 3 乗の和 (13+23+…+t3) が n を超えるような最小の t を求めて表示せよ.また,その t の値に対する上記の 3 乗の和も表示せよ.

n を超えない場合に計算を繰り返すようwhile 文で継続条件を与えるか,もしくは break 文を用いて n を超えた時点で終了すればよい.

例えば,n = 50 のとき, 13+23+33 = 36,13+23+33+43 = 100 であるため,t = 4, 3乗の和は 100 である.

(表示例)
n = 1000 のとき,t = 8, 1296
n = 10000 のとき,t = 14 11025
n = 100000 のとき,t = 25 105625
(E10_3)

5000円札を1000円札,500円玉,100円玉の 3 種類に両替するとき,紙幣数/硬貨数の組み合わせおよび組み合わせの数を求めて表示するプログラムを for 文の多重ループを使って作成せよ.

(E10_4)

配列 a に格納された正の整数のデータの中央値を求めて表示せよ(データの個数は奇数個と仮定してよい).なお中央値とは,データの中で昇順に並べても降順に並べてもちょうど真ん中にくる値を指す.まず,sizeof 演算子を用いて,配列の要素数を求めた上で,中間値の順位を決定すればよい.さらに,データを整列(ソート)する.

 (注: 中央値のみ表示すればよい)
(要素数: 19)
(降順: 98 91 88 87 84 81 78 76 75 69 64 63 55 53 47 44 42 29 13)
 中央値 69
#include <stdio.h>

int main( void )
{
    int a[] = { 75, 44, 98, 76, 87, 64, 88, 78, 55, 91, 69, 47, 84, 13, 63, 81, 29, 42, 53 };

    return 0;
}
(E10_5)

(E10_6)

「キックオフ C言語」第 6 章 ソースコード6.5 を参考にして,素数を小さい方から 10個表示するプログラムを作成せよ.関数 is_prime(),関数 is_prime2(),関数 is_prime3() のいずれを用いても,結果が同じとなることを確認せよ.また,各関数についてどのような計算が行われているか説明せよ.

10 個の素数が発見されるまで計算を繰り返すようwhile 文で継続条件を与えるか,もしくは break 文を用いて 素数の個数が 10 個となった時点で終了すればよい.

2, 3, 5, 7, 11, 13, 17, 19, 23, 29
(E10_7)

「キックオフ C言語」第 8 章 章末問題 7 (【2次元配列】141ページの…)に解答せよ.