プログラミング入門 宿題 2017.11.27

Back


4桁の正の整数を乱数により5つ発生させ,その最大値と最小値を表示する.それを5回繰り返して以下のように表示するプログラムを作成せよ.

My student number: s174099

                            Max  Min
9512 3716 6414 1714 3687  | 9512 1714
5788 1412 4042 1102 7259  | 7259 1102
7000 8935 7826 5574 8661  | 8935 5574
7101 9625 4437 5468 8932  | 9625 4437
1553 4229 5810 9346 9500  | 9500 1553

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

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

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

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


解答例

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

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

int main()
{
	srand((unsigned) time(NULL));
	
	int i, j, max, min, num;
	
	printf("My student number: s174099\n\n");
	
	for(i=1; i<=5; i++)
		printf("     ");
	
	printf("   Max  Min\n");
	
	for(i=1; i<=5; i++){
		max = 0;
		min = 10000;
		
		for(j=1; j<=5; j++){
			num = rand() % 9000 + 1000;
			printf("%d ", num);
			
			if(num>max)
				max = num;
			
			if(num<min)
				min = num;
		}
		
		printf(" | %d %d\n", max, min);
	}
	
	printf("\n-------------------------------\n\n");
	
	return(0);
}


Back