プログラミング入門II 宿題 2019.06.24

Back


100以下の自然数を5個乱数を用いて発生させることを5回繰り返し,5×5のマトリックス上に表示します.各行と列の最大値を以下のように表示するプログラムを作成しましょう.

My student number: s186099

                          Max
     75  52   5  93   9 |  93
     24  97  61  25  83 |  97
     80  40  25  34  64 |  80
     50  94  97  79  55 |  97
    100   5  67  29  49 | 100
------------------------
Max 100  97  97  93  83 

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

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

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

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


解答例

// ************************************************** 
//                                                    
//      プログラミング入門II レポート課題                                    
//      2019.06.24                                    
//                                                    
// ************************************************** 
//                                                    
//      学生番号:                                     
//                                                    
//      氏名:                                         
//                                                    
// ************************************************** 
//                                                    
//      
              
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	srand((unsigned) time(NULL));
	
	int i, j, max, ary[5][5];
	
	printf("My student number: s186099\n\n");
	
	for(i=1; i<=6; i++)
	{
		printf("    ");
	}
	
	printf("  Max\n");
	
	for(i=0; i<=4; i++)
	{
		printf("    ");
		
		max = 0;
		
		for(j=0; j<=4; j++)
		{
			ary[i][j] = rand() % 100 + 1;
			printf("%3d ", ary[i][j]);
			
			if(ary[i][j]>max)
			{
				max = ary[i][j];
			}
		}
		
		printf("| %3d\n", max);
	}
	
	for(i=1; i<=6; i++)
	{
		printf("----");
	}
	
	printf("\nMax ");
	
	for(i=0; i<=4; i++)
	{
		max = 0;
		
		for(j=0; j<=4; j++)
		{
			if(ary[j][i]>max)
			{
				max = ary[j][i];
			}
		}
		
		printf("%3d ", max);
	}
	
	printf("\n\n--------------------------------\n\n");
	
	return 0;
}


Back