プログラミング入門 情報科学演習 宿題 2016.12.05

Back


1から9までの整数をランダムに発生させ,出た数の和が30を超えるまで続ける.それを5回繰り返すプログラムを作成せよ.ただし, break 文を使用しないで作成すること.

なお,今回も使用する変数名は以下のものに限定するので,注意すること.

	int i, num, sum;

My student number: s164099

4 1 1 9 2 3 5 5   --- 30
6 7 5 9 6   --- 33
7 9 6 1 6 7   --- 36
6 1 2 6 1 5 4 7   --- 32
1 7 9 4 8 9   --- 38

---------------------------

なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.

解答用紙を使用する際には,まず,科目名の不要な方を削除してください.また,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください.

指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください.


解答例

/* ************************************************** */
/*                                                    */
/*      プログラミング入門  情報科学演習C7                            */
/*      レポート課題                                  */
/*      2016.12.05                                    */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      学生番号:                                    */
/*                                                    */
/*      氏名:                                        */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      この行以降に解答のプログラムを書くこと        */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

main()
{
	srand((unsigned) time(NULL));
	
	int i, num, sum;
	
	printf("My student number: s164099\n\n");	
	
	for(i=1; i<=5; i++){
		sum = 0;
		
		for(; sum<30; ){
			num = rand() % 9 + 1;
			printf("%d ", num);
			sum += num;
		}
		
		printf("  --- %d\n", sum);
	}
	
	printf("\n---------------------------\n");
	
	return(0);
}


Back