本日の課題 解答例
2010.4.30
以下にヒントを示しますので,参考にしてください.
ヒント
3桁の乱数は100から999までの整数ですので,全部で900通りあります.さいころ の実習例で試したときに6種類の乱数を発生させるためには6の剰余を使用したこ とを思い出せば,rand() で発生した数を何で割った余りを使えば良い かが分かると思います.ただし,そうやって作った乱数は0からですので,適切 な整数を足す必要がありますので,注意してください.
割算と剰余を使うと各桁の数字をそれぞれ取り出せます.考えてみてください.
プログラムを実行すると,画面に次のように表示するようにしてください.
Obtained number: 617 Sum of each digit: 6 + 1 + 7 = 14 |
/* ************************************************** */ /* */ /* 情報科学演習 C6 C7 */ /* 添付書類テスト */ /* 2010.4.30 */ /* */ /* ************************************************** */ /* */ /* 学生番号: */ /* */ /* 氏名: */ /* */ /* ************************************************** */ /* */ /* この行以降に解答のプログラムを書くこと */ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { srand((unsigned)time(NULL)); int num, a100, b10, c1, sum; num = rand() % 900 + 100; a100 = num / 100; b10 = num % 100 / 10; c1 = num % 10; sum = a100 + b10 +c1; printf("Obtained number: %d\n", num); printf("Sum of each digit: %d + %d + %d = %d\n", a100, b10, c1, sum); return(0); } |