[문제]
성적관리 프로그램을 작성하자. 과목은 국어, 영어, 수학, 국사 이렇게 네 과목이고 학생은 철희, 철수, 영희, 영수 이렇게 네 사람이다. 프로그램 사용자로부터 이 네 사람의 네 과목 점수를 입력 받는다. 그리고 미리 선언해 놓은 배열에 다음의 형태로 그 값을 저장해야 한다.
저장이 끝났다면, 개인별 총점과 과목별 총점을 계산해서 다음 그림에서 보이는 배열의 위치에 저장해야 한다. 그리고 마지막에는 저장된 값의 검증을 위한 출력을 보여야 한다.
<조건: 아래의 함수를 만들것>
학생별 성적 입력 & 합계를 구하는 함수 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 |