[C언어] 문자열 행렬 출력
728x90
 

입력 예시) Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam

출력 결과)

첫 줄에 행, 열 입력, 두번째 줄에 문장을 입력한 결과이다.

그 후 strtok를 사용하여 띄어쓰기를 기준으로 문장을 나누어

배열에 저장하였다.

배열에 단어로 나누어 저장된 결과

그리고 출력!

간단한 문제였다.

 

#include <stdio.h>
#include <string.h>

#define MAX 100

int main() {
    char input[MAX] = { NULL };
    char *answer[MAX] = { NULL };
    int row = 0, col = 0;
    scanf("%d %d", &row, &col);
    while ((getchar()) != '\n');
    fgets(input, MAX, stdin);
    printf("\n\n");

    char * token = strtok(input, " ");
    int i = 0;
    while (token != NULL) {
        answer[i++] = token;
        token = strtok(NULL, " ");
    }

    int k = 0;
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            printf("%s ", answer[k++]);
        }
        printf("\n");
    }}
320x100