情報科学演習 宿題 2012.01.23

Back


2桁の正の整数を10個乱数を用いて発生させて,それらを2次元配列に5つずつに 分けて格納するとともに,2行に分けて表示する.その後で,配列要素を1つおき に上下入れ換えて表示するプログラムを作成せよ.

結果の表示は文字の配置や空行の挿入についても以下のようになるもの とし,1 行目に必ず自分の学生番号を表示するよ うにすること.また,末尾にハイフンによるライン を引いておくこと.

My student number: s114099

92 81 29 17 86
86 12 98 12 66

92 12 29 12 86
86 81 98 17 66

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

2次元の配列なので2重の for ループを使用します.なお,この処理に は if 文は使用しません.

また,配列要素そのものの入れ換えではなく,表示を上記のように交互に行うだけの課題 ですので,その部分を間違えないようにしてください.
解答用紙
解答例

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

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

main()
{
	srand((unsigned) time(NULL));

	int ary[2][5];
	int i, j;
	
	printf("My student number: s114099\n\n");
	
	for(i=0; i<=1; i++){
		for(j=0; j<=4; j++){
			ary[i][j] = rand() % 90 + 10;
			printf("%d ", ary[i][j]);
		}
		
		printf("\n");
	}
	
	printf("\n");
	
	for(i=0; i<=1; i++){
		for(j=0; j<=4; j++)
			printf("%d ", ary[(i+j)%2][j]);
		
		printf("\n");
	}
	
	printf("\n--------------------------------\n\n");
	
	return(0);
}


Back