x座標およびy座標としてそれぞれ-6から6までの整数を乱数により2回発生させ,それが矢の刺さった場所とするとき,2回の射的の合計得点を表示するプログラムを作成せよ.
My student number: s164099 1st shot: (-1, 4) -> Point: 2 2nd shot: ( 0, 0) -> Point: 10 Total point: 12 --------------------------------------- |
なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.
的の形は「円」ですね.
解答用紙を使用する際には,まず,科目名の不要な方を削除してください.また,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください. 指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください. |
/* ************************************************** */ /* */ /* プログラミング入門 情報科学演習C7 */ /* レポート課題 */ /* 2016.11.07 */ /* */ /* ************************************************** */ /* */ /* 学生番号: */ /* */ /* 氏名: */ /* */ /* ************************************************** */ /* */ /* この行以降に解答のプログラムを書くこと */ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { srand((unsigned) time(NULL)); int x, y, r2, point1, point2; printf("My student number: s164099\n\n"); x = rand() % 13 - 6; y = rand() % 13 - 6; r2 = x * x + y * y; if(r2<=1) point1 = 10; else if(r2<=4) point1 = 8; else if(r2<=9) point1 = 6; else if(r2<=16) point1 = 4; else if(r2<=25) point1 = 2; else point1 = 0; printf("1st shot: (%2d, %2d) -> Point: %d\n", x, y, point1); x = rand() % 13 - 6; y = rand() % 13 - 6; r2 = x * x + y * y; if(r2<=1) point2 = 10; else if(r2<=4) point2 = 8; else if(r2<=9) point2 = 6; else if(r2<=16) point2 = 4; else if(r2<=25) point2 = 2; else point2 = 0; printf("2nd shot: (%2d, %2d) -> Point: %d\n", x, y, point2); printf("Total point: %d\n", point1 + point2); printf("\n---------------------------------------\n\n"); return(0); } |