본문 바로가기

C 언어/연습문제

C언어 연습문제23

[문제]

성적관리 프로그램을 작성하자. 과목은 국어, 영어, 수학, 국사 이렇게 네 과목이고 학생은 철희, 철수, 영희, 영수 이렇게 네 사람이다. 프로그램 사용자로부터 이 네 사람의 네 과목 점수를 입력 받는다. 그리고 미리 선언해 놓은 배열에 다음의 형태로 그 값을 저장해야 한다.
저장이 끝났다면, 개인별 총점과 과목별 총점을 계산해서 다음 그림에서 보이는 배열의 위치에 저장해야 한다. 그리고 마지막에는 저장된 값의 검증을 위한 출력을 보여야 한다.

<조건: 아래의 함수를 만들것>
학생별 성적 입력 & 합계를 구하는 함수 WriteRecord
과목별 성적 합계를 구하는 함수 WriteSumRecord
배열에 저장된 값 출력하는 함수 ShowAllRecord

 

[실행결과]

 

[코드]

#include<stdio.h>

int record[5][5]; // 학생들의 성적을 저장하기 위한 배열(전역변수 선언으로 자동 0으로 초기화)

/* 학생별 성적의 입력 & 합계 */
void WriteRecord(void)
{
	int sum, i, j;

	for (i = 0; i < 4; i++)
	{
		sum = 0;
		printf("%d번째 학생의 성적 입력\n", i + 1);

		for (j = 0; j < 4; j++)
		{
			printf("%d번째 과목: ", j + 1);
			scanf_s("%d", &record[i][j]);
			sum += record[i][j];
		}
		record[i][4] = sum;
	}
}

/* 과목별 성적의 합계 입력*/
void WriteSumRecord(void)
{
	int sum, i, j;

	for (i = 0; i < 4; i++)
	{
		sum = 0;

		for (j = 0; j < 4; j++)
			sum += record[j][i];

		record[4][i] = sum;
		record[4][4] += sum;
	}
}

/* 배열에 저장된 값 전체 출력 */
void ShowAllRecord(void)
{
	int i, j;

	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 5; j++)
			printf("%2d ", record[i][j]);

		printf("\n");
	}
}

int main(void)
{
	WriteRecord();
	WriteSumRecord();
	ShowAllRecord();

	return 0;
}

 

<참고>

윤성우의 열혈 C 프로그래밍

'C 언어 > 연습문제' 카테고리의 다른 글

C언어 연습문제25  (0) 2021.11.30
C언어 연습문제24  (0) 2021.11.26
C언어 연습문제22  (0) 2021.11.22
C언어 연습문제21  (0) 2021.11.18
C언어 연습문제20  (0) 2021.11.18