Home > Study > C Language > C task > [ex48] 4명의 성적을 입력 받아 1등인 학생을 찾으시오

[ex48] 4명의 성적을 입력 받아 1등인 학생을 찾으시오
Study Language

문제 설명


1줄에 정수 4개씩 3줄에 걸쳐 입력 받아 배열에 저장한다. 행과 열 단위의 합계를
인쇄한다.
예를 들어 아래와 같이 입력되면 다음과 같은 결과를 얻을 수 있다
4 3 1 7
7 8 6 2
9 5 2 6

alt text

그러면 출력은 첫째 줄에는 각 행의 합계를 공백으로 구분해서 출력하고 둘째 줄에는 각 열의 합계를 공백으로 구분해서 출력한다. 즉, 다음과 같이 출력하면 된다.

15 23 22
20 16 9 15

입력 설명


1줄에 정수 4개가 공백으로 구분되며 3줄에 걸쳐 입력 받는다. 단 정수는 양의 정수이다.

출력 설명


첫째 줄에는 행 단위 합계를 인쇄하고 두 번째 줄에는 열 단위 합계를 인쇄한다.

입력 예시


4 3 1 7
7 8 6 2
9 5 2 6

출력 예시


15 23 22 
20 16 9 15 

정답 코드


#include <stdio.h>

int arr[3 + 2][4 + 2];

void input(void)
{
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			scanf("%d", &arr[i][j]);
		}
	}
}

void solve(void)
{
	int d; 

	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			d = arr[i][j];
			arr[i][4] += d;
			arr[3][j] += d;
		}

	}
}

void output(void)
{
	for (int i = 0; i < 3; i++)
	{
		printf("%d ", arr[i][4]);
	}
	
	printf("\n");
	
	for (int j = 0; j < 4; j++)
	{
		printf("%d ", arr[3][j]);
	}
}

void main(void)
{
	input();
	solve();
	output();
}

메모


printf 내부의 \n 습관화 필요