コンテンツにスキップ

C言語の復習 基本と配列

この演習では、プログラミングで基本となる順次・分岐・繰り返しと アルゴリズムでよく使われる配列の使い方を復習します。

問題の難易度の目安【易】⭐ 【標準】⭐⭐【難】⭐⭐⭐

問題1 ⭐

でも好きなことをする努力家はね
最強なんですよ!

と表示するプログラムを作りましょう。

Note

ここでは順次を確認します。 printfを2つ使うといいかも。 printfを1つでもできます。

問題2 ⭐

入力された値が奇数か偶数かで表示が変わるプログラムを作りましょう。

例えば、コンパイルしてできたプログラムがa.outだとすると

./a.out 4

と実行すると、入力された値は偶数なので、

あっちゅ!

という表示になります。

./a.out 9

と実行すると、入力された値は奇数なので、

きちゃ~

という表示になります。

Note

ここでは分岐を確認します。 if文がちゃんと使えるといいですね。

問題3 ⭐

入力は文字列と数字の2つとします。 文字列を数字の回数分表示するプログラムを作りましょう。

入力は、繰り返す回数と表示する文字列になります。

繰り返す回数が3、文字列が「うまぴょい」だと、

うまぴょい
うまぴょい
うまぴょい

となります。

コンパイルしたプログラムがa.outだとすると

./a.out 3 うまぴょい

と実行することになります。

Note

ここでは繰り返しを確認します。

問題4 ⭐

入力される数字が3の倍数なら「さくら」、5の倍数なら「みこ」、両方の倍数なら「みこぴー」、 それ以外はその数字を表示するプログラムを作りましょう。

Note

ここでは順次・分岐・繰り返しの全てが使われるプログラムを書いて動作を確認します。 すべてのプログラムはこの3つが基本となってできていますので、ここが分かれば、あとは応用になります。

問題5 ⭐⭐

配列から、ある値が入っている場所(index)を表示する関数indexOfを完成させましょう。

入力は、最初が探す値で、それ以降を配列の内容とします。

例えば、コンパイルしてできたプログラムがa.outだとすると

./a.out 2 4 5 6 3 2 1

と実行すると、探す値が2で、配列はそれ以降の数字になり、プログラムの出力は以下のようになります。

index = 4

また、値が配列にない場合は以下のような出力になります。

Not Found

Note

ここでは配列に含まれる値へのアクセス方法について学びます。 配列の先頭のインデックスは0から始まることに注意しましょう。 ファイル中のindexOf関数のみ変えましょう。

問題6 ⭐⭐

配列から、最大値を求める関数maxを作りましょう。

入力は、配列の内容となります。

例えば、コンパイルしてできたプログラムがa.outだとすると

./a.out 4 5 6 3 2 1

と実行すると、配列の内容は[4, 5, 6, 3, 2, 1]となり、出力は

6

となります。

Note

ここでは配列を利用して、よく行われる操作について学びます。 for文を使って、配列の先頭から中身を確認していくようになると思います。

問題7 ⭐⭐

与えられた配列の要素をすべて足す関数accumを作りましょう。

入力は、配列の内容となります。

例えば、コンパイルしてできたプログラムがa.outだとすると

./a.out 4 5 6 3 2 1

と実行すると、配列の内容は[4, 5, 6, 3, 2, 1]となり、出力は

21

となります。

Note

ここでは配列を利用して、よく行われる操作について学びます。 for文を使って、配列の先頭から中身をどんどん足すようにすると良いでしょう。

問題8 ⭐⭐⭐

与えられた2つの引数を配列のindexとして、それらのindexの値を入れ替えるプログラムを作りましょう。

入力は、最初の2つがindexで、それ以降を配列の内容とします。

例えば、

./a.out 2 4 90 10 8 45 1 3 30 149 82 9

と実行すると、最初の2つの値が入れ替えるindexとなり、配列はそれ以降の値になり、プログラムの出力は以下のようになります。

90 10 8 45 1 3 30 149 82 9
90 10 1 45 8 3 30 149 82 9

Note

ここでは配列を利用して、よく行われる操作について学びます。 入れ替える時に、値を別の変数へ退避する必要があります。

問題9 ⭐⭐⭐

与えられた配列の個々の要素をN倍するプログラムを作りましょう。

入力は、最初の値がNで、それ以降を配列の内容とします。

例えば

./a.out 3 90 10 8 45 1 3 30 149 82 9

と実行すると、Nが3で、配列はそれ以降の値になり、プログラムの出力は以下のようになります。

90 10 8 45 1 3 30 149 82 9
270 30 24 135 3 9 90 447 246 27

Note

ここでは配列を利用して、よく行われる操作について学びます。 for文を使って解くことになるでしょう。

問題10 ⭐⭐⭐

入力として整数が与えられると、その整数を逆に表示するプログラムを作りましょう。

例えば入力が1234なら、出力は4321になります。 また、-12なら、-21です。

Note

非常に難しい問題なので、頑張れる人は頑張ってみましょう。