プログラミング入門I 宿題 2018.12.17

Back


2桁の正の整数を乱数を用いて1つ発生させ,その数値を表示させる.その後,出てきた乱数よりも小さい正の整数を乱数を用いて発生させ表示することを続け,乱数の値が10になったら終了するプログラムを作成せよ.

My student number: s186099

95 27 22 20 15 14 11 10 

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

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

for 文の中で乱数を発生させますが,その時に,いつものような固定値を使った

	num = rand() % 90 + 10;

の形でなく,変数を利用して毎回変わるように工夫することが必要です.また, for 文の条件式は式2のみ記述すれば良い形式です.
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください.

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


解答例

// ************************************************** 
//                                                    
//      レポート課題                                    
//      2018.12.17                                    
//                                                    
// ************************************************** 
//                                                    
//      学生番号:                                     
//                                                    
//      氏名:                                         
//                                                    
// ************************************************** 
//                                                    
//      
              
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	srand((unsigned) time(NULL));
	
	printf("My student number: s186099\n\n");
	
	int num = 100, random = 90;
	
	for( ; random>0; )
	{
		num = rand() % random + 10;
		printf("%d ", num);
		
		random = num - 10;
	}
		
	printf("\n\n-----------------------------\n\n");	
	
	return 0;
}


Back