프로그램은 다음과 같이 성명, 중간, 기말, 총점, 평균, 석차를 구하는 문제이다.

이것만 봤을 때 딱 필요한 변수는

이 두가지가 필요하다.

정수형 배열은 5행 5열이다. 담을 변수가 5개, 사람 수가 5명이기 때문.

char name[5][10] = { "강감찬", "김유신", "김시민", "이순신", "홍길동" };
int jum[5][5] = { {85, 75}, {95, 88}, {95, 88}, {99, 98}, {73, 64} };

가장 먼저 성적을 배열에 담아둔다.

char name[5][10] 에서 왜 10이나 들어가냐면, 한글 이름의 바이트 수는 2로 측정이 되기에 좀 더 크게 설정한 것이다.

총점과 평균을 구하는 알고리즘이다.

// 총점과 평균
	for (i = 0; i < 5; i++) {     // 사람 수만큼 반복
		jum[i][2] = 0;              // 초기값 설정
		for (j = 0; j < 2; j++)			// jum[i][2] = jum[i][0]+jum[i][1];
			jum[i][2] += jum[i][j];   // 총점을 담는다 
		jum[i][3] = jum[i][2] / 2;  // 평균을 구한다
	}

다음은 석차를 구하는 알고리즘이다.

// 석차
	for (i = 0; i < 5; i++) {     // 사람 수만큼 반복
		jum[i][4] = 1;					    // 나는 1등이야
		for (j = 0; j < 5; j++)			// 모든 친구들의 총점과 비교
			if (jum[i][2] < jum[j][2]) jum[i][4]++; //
	}