1. 料金と支払金額を入力すると、おつりと最小の紙幣(硬貨)で支払う方法を教えてくれる
 プログラムを作成せよ。ただし、実行結果は以下のようになるように。

実行結果

料金を入力してください。580

支払金額を入力してください1000

おつり 420円

10000円 5000円 1000円 500円 100円 50円 10円 5円 1円
0 0 0 0 4 0 2 0 0

 

解答

 


2. 入力した文字列を逆転させるプログラムを作成せよ。

  例: (入力) abcdef → (出力) fedcba

 

解答

 


3.行列のデータが書き込まれている2つのファイルを読み込んで、それらの行列の和を計算
 し、入力と同じデータ書式で出力するプログラムを作成せよ。ただし、以下の仕様を満たし
 た関数を作成し用いること。また、データの書式は以下のとおりである。行列データファイル
 はここからダウンロードすること(マウスの右ボタンをクリックしSave Link As)。

行列1(matrix1.dat)をダウンロード

行列2(matrix2.dat)をダウンロード

ファイル読み込み関数

引数:ファイル名(char型文字列)、読み込んだ行列を格納するための行列(int型2次元配列)、
    行列サイズx(int型ポインタ)、行列サイズy(int型ポインタ)

返り値:ファイルの読み込み成功の場合0、失敗の場合1

説明:指定されたファイル名のデータを読み込む関数。ファイルの読み込み成功の場合0、
    失敗の場合1を返す。ファイル名と読み込んだ行列を格納するための2次元配列、読
    み込まれた行列のサイズを返すためのint型ポインタの2つを引数として持つ。

ファイル出力関数

引数:ファイル名(char型文字列)、行列(int型2次元配列)、行列サイズx(int型)、行列サイズy(int型)

返り値:ファイルの書き込み成功の場合0、失敗の場合1

説明:指定されたファイル名のデータを書き込む関数。ファイルの読み込み成功の場合0、
   失敗の場合1を返す。ファイル名と書き込む行列の2次元配列、書き込む行列のサイ
   ズ(int型2つ)を引数として持つ。

行列計算関数

引数:行列1(int型2次元配列)、行列2(int型2次元配列)、結果を格納するための行列3
    (int型2次元配列)、行列サイズx(int型)、行列サイズy(int型)

返り値:なし

説明:行列1と行列2の和を計算し行列3に結果を格納する関数。引数としてint型2次元配
    列3つと行列サイズ(int型2つ)を引数として持つ。

行列表示関数

引数:行列(int型2次元配列)、行列サイズx(int型)、行列サイズy(int型)

返り値:なし

説明:引数として渡された行列をprintf関数を使って表示する関数。出力する行列のint型
    2次元配列と行列サイズ(int型2つ)を引数として持つ。

 

データ書式

ファイルの始めの1行目に行列の行サイズ、2行目に行列の列サイズ、それ以降、一行ご
とにデータ(int型)が行*列分書かれている。ファイルのデータの書式の例は以下のようで
ある。

20       ←
20       ←
35       ←
43       ←
75       ←
52
76
26
83
26
83

(以下行*列分続く)

行サイズ
列サイズ
1行1列目のデータ
1行2列目のデータ
1行3列目のデータ
     :
     :
     :





 

解答