본문 바로가기
개발/C, C++

scanf를 이용해 정수 1칸 입력 받기

by 피로물든딸기 2023. 3. 26.
반응형

C, C++ 전체 링크

 

BOJ 1080 : 행렬 문제를 보면 input 받아야 할 숫자가 붙어있다.

 

이 경우에는 scanf에 "%1d" 옵션을 주면 1칸(1개)씩만 읽는다. ( scanf("%1d", &input); )

아래의 코드를 실행하면 정상적으로 입력을 받은 것을 알 수 있다.

#include <stdio.h>

#define MAX (50 + 5)

int N, M;

int A[MAX][MAX];
int B[MAX][MAX];

void input()
{
	scanf("%d %d", &N, &M);

	/* 입력 */
	for (int r = 1; r <= N; r++)
		for (int c = 1; c <= M; c++)
			scanf("%1d", &A[r][c]);

	for (int r = 1; r <= N; r++)
		for (int c = 1; c <= M; c++)
			scanf("%1d", &B[r][c]);
	
	/* 출력 */
	for (int r = 1; r <= N; r++)
	{
		for (int c = 1; c <= M; c++)
			printf("%d ", A[r][c]);
		putchar('\n');
	}
	putchar('\n');

	for (int r = 1; r <= N; r++)
	{
		for (int c = 1; c <= M; c++)
			printf("%d ", B[r][c]);
		putchar('\n');
	}
	putchar('\n');
}

int main(void)
{
	input();

	return 0;
}

반응형

댓글