アルゴリズムとデータ構造1 : C言語 例題集 


例題集トップページ

プログラムに コメント
ガイドライン
スタイルと読み
例題1(読みやすくしよう)
例題2 (少し長い例)



2022 秋 基本構文の確認

0

基本要素

(休み明けは、ここから)

1. if 文
2. switch文

 3. while文
4. for 文 

5. 配列 表記法
6. 関数

夏休み明けのいじわる問題(まずはMaNaBoで)
高井さん (2016)
西岡大吾さん (2017)
中島さん (2024)
の作品
1週目のうちに、必ず目覚めること!
アルゴ1 スタート 
まずは、この列 14個の例題から
こちらは、後の授業中で追加 さらに追加予定
1 入出力
(1,2回目の課題はもっと先)

1.0101 (1回目の課題はページ下にあります
(繰り返して、おうむ返し)

2. 0102 (
(N個を配列に格納、出力)

3. 0103
(ファイルから入力)

2 条件分岐
(比較演算子
論理演算子)

4. 0201
(単純な分岐)
(偶数・奇数)

5. 0202
(else if 場合わけ)(演算子)
(月を季節に)
online C tutor
実行過程を確認しよう
(注意 入力関数は使用不可
scanfや getsを置き換えること)

他の言語も
3 ループ
6. 0301
(数nに関するループ)
(Nまで合計)(資料1)

7. 0302
(breakでループを抜ける)
(N個/終了キーまで合計)
0301は定番中の定番
4 配列
8. 0401
(SIZEまで処理)
(要素合計)

逆順
0402
(ループ内処理 if文)
(aabbc→ abc)
0403
(アルゴ2 2つの配列処理)
(結合配列作成)
5 文字列
9. 0501
(NULL文字まで処理)
(文字列の長さ)

10. 0502
(ループ内処理 if文)
(1文字検索:何番目に)

6

二重ループ
11. 0601 
(二重ループ)
(時計のイメージ)

12. 0602 
(一次元配列に二重ループ)
(繰り返し出力パターンは▽)
7 定番操作
13, 0701
(配列要素の交換)
(swap; アドレス渡しの関数を使用しない場合)
0702
(1桁乱数の生成、格納と表示)
0703
(アルゴ2 main関数に引数を)

0704
(アルゴ2 分割コンパイル法)
(1102を例に)

0705
(アルゴ2, 工学実験1)
(パイプ、リダイレクトの使い方)
8 関数
14. 0801
(プロトタイプ宣言、関数呼び出し、関数定義)
(定番例題sum)
0802
(配列を引数とする関数)
(要素の合計)
アルゴ1 練習問題 (1回目) 課題
1回目 小さい 基本編
(うまいプログラムを)

1. 0101 (3つの最大値問題)
(条件分岐いろいろ 例題0101や0202を)
解答
N個の場合の解答例
EOFの入力までの解答例

2. 0102 (成績判定問題)
(条件分岐いろいろ 例題0202を)
(資料1 フローチャートを意識しよう)
解答

レポートの形式 最初の確認
(3回目に、確認します)

アルゴ1 練習問題 (2回目) 課題
2回目 小さい 基本編2
(うまいプログラムを)

1. 0103 (例題0602変形 0301, 0401も) 
解答

2. 0104 (アルゴリズム入門)
解答

余裕のある人は 練習問題を!
オプション問題 中高生
情報オリンピック
予選問題から

講習会 REGIO
(2019 8/27)
(2022 8/25)
(2023 8/29, 30)
(2024 8/27 28は中止)

追加課題  2週間かけてよい
(どれも基本構文しか使用しない。ライブラリに逃げないで作る)

A. 0105 (基本構文組み合わせ) (易)
(配列に入力 例題0102)
(配列処理 例題0401)
(ループbreak 例題0302)
(最大値 練習問題0101)
解答例

B. 0106 (プログラムをしっかり) (難)
解答例

C. 0107 (解法いろいろ)(難)
解答例

D. 0108 (問題をコンピュータに正しく表現する)
解答例

アルゴ1の授業中に紹介!
9 再帰 0901
(数nに関する自然な再帰)
(階乗)

(問題が小さくなる自然な再帰)
(二分探索を再帰で)
(漸化式的な再帰)
(フィボナッチ数)

(配列に再帰)
(要素合計)
(0401の再帰版)