MMA講習会用 C言語演習問題

C言語 確認問題(演習編)

ゼロから始めるプログラミング~C言語編~ を受講している皆様,terryです.
毎回聞いてくださってありがとうございます.

どうしても聞くだけになりがちな形式にしてしまったので,演習問題を用意しようと思います.

実際にプログラムを書いてみてください.

ここで注意事項です.

  1. 苦Cなどのサイトを使って調べることOKです.テストではありません.
    1. ただし,問題内容を直接調べるのは禁止します.たいていソースが出てくるので,あまり勉強にならないと思うので…
    2. C言語の書き方とかを調べましょう
  2. 今回のプログラムは短めなので,サイトのコードをそのまんまコピペするのはおすすめしません…
    1. 自分の書いたソースコードのコピペはOKです.(似た処理のところはコピペしたほうがいいかも)
    2. 書いて覚えるという側面もあると思う(個人差あり)のでこのようにすすめてます
    3. でもコピペばかりだとかけるようになるまで時間がかかるような気がします…
    4. 慣れないうちは苦しいかもですが頑張りましょう!
  3. わからなかったら聞いてくださいね.どんなことでも大丈夫です.
    1. discord の #programming チャンネルでお待ちしてます!
    2. ソースコードをwandbox,paiza.ioなどで書いた場合,URLを用いてソースコードの共有ができます.
    3. リンク共有以外にもDiscord直張りでも大丈夫です.
      1. ただその場合は ```xxx``` のように囲ってください.
      2. 見やすくなるので協力してくれると助かります!

演習問題

以下の問題文で求められているC言語のプログラムを作成してください.

  • ソースコードはできるだけ簡潔に書くことを心がけてください
    • 無駄な処理があっても構いませんができる限り減らしましょう
  • 入出力の例を載せました.実際にコンパイルしてみて正しい出力が出るか試してみてください
    • 出なかったら間違っている可能性が高いです.
    • 結果を見て直してみてください.
    • なぜそのような結果になったのか,違うところは何かを考えるといいかもしれません.

問題1

問題文

整数m,a,bがこの順に入力として与えられる.(ただし,bは0でないとする)

これをscanfで受け取る.mの値に応じて以下のように出力するプログラムを作成してください.

  • 整数mが1のとき
    • (a)+(b)=(a+b)と出力してください
  • 整数mが2のとき
    • (a)-(b)=(a-b)と出力してください
  • 整数mが3のとき
    • (a)*(b)=(a*b)と出力してください
  • 整数mが4のとき
    • (a)/(b)=(a/b)と出力してください
  • それ以外のとき
    • 何も出力しないでください

入力例1

1 2 3

出力例1

1+2=3

入力例2

3 2 3

出力例2

2*3=6

入力例2

5 2 3

出力例2

問題2

問題文

整数nが入力として与えられる.(scanf)で受け取って,nの段を横1列に空白区切りで出力するプログラムを作成してください.

入力例

3

出力例

3 6 9 12 15 18 21 24 27

問題3(上級編)

問題文

掛け算九九の表を出力するプログラムを作成してください.

(余裕のある人は,整数nを入力することでn*nの掛け算表を出力できるよう改造してみましょう)

入力

なし

出力例1

1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81 

この出力ができれば正解です.

出力例2(上級者向けかも?)

 1  2  3  4  5  6  7  8  9 
 2  4  6  8 10 12 14 16 18 
 3  6  9 12 15 18 21 24 27 
 4  8 12 16 20 24 28 32 36 
 5 10 15 20 25 30 35 40 45 
 6 12 18 24 30 36 42 48 54 
 7 14 21 28 35 42 49 56 63 
 8 16 24 32 40 48 56 64 72 
 9 18 27 36 45 54 63 72 81 

これは教えてないことを使います.うまく調べられたらやってみてください.