profile image

L o a d i n g . . .

39.8 심사 문제 : 문자열 만들기

문제 : 표준 출력으로 다음과 같은 문자열이 출력되게 만드세요.

Beethoven
9th
Symphony

정답 :

#include <stdio.h>

int main()
{
    char s1[] = "Beethoven\n9th\nSymphony";

    printf("%s\n", s1);

    return 0;
}

 

 

 

40.8 심사문제 : 문자열 네 개 입력받기

문제 : 표준 입력으로 어떤 문자열 네 개가 입력됩니다(각 문자열의 길이는 30 이하). 입력된 문자열 네 개를 각각 한 줄씩 출력하는 프로그램을 만드세요.

 

정답 :

#include <stdio.h>

int main(void){
    
    char s1[31];
    char s2[31];
    char s3[31];
    char s4[31];
    
    scanf("%s %s %s %s", s1, s2, s3, s4);
    
    printf("%s\n", s1);
    printf("%s\n", s2);
    printf("%s\n", s3);
    printf("%s\n", s4);
    
    return 0;
    
}

 

 

 

41.6 심사 문제 : 문자열 길이 구하기

 

문제 : 표준 입력으로 길이 30 이하의 어떤 문자열이 입력됩니다. 입력된 문자열의 길이를 출력하는 프로그램을 만드세요.

정답 :

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

int main(void)
{
    char s[31];
    
    scanf("%s",s);
    
    printf("%d",strlen(s));
    
    return 0;
}

 

 

 

41.7 심사 문제 : 문자열 비교하기

문제 : 표준 출력으로 다음과 같은 문자열이 출력되게 만드세요.

정답 :

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

int main(void)
{
    char s1[31];
    char s2[31];
    
    scanf("%s %s", s1, s2);
    
    printf("%d",strcmp(s1,s2));
    
    return 0;
}

 

 

 

42.10 심사 문제 : 문자 배열 복사하기

문제 : 표준 입력으로 길이 30 이하의 어떤 문자열이 입력됩니다. 다음 소스 코드를 완성하여 두 printf가 같은 문자열을 출력하게 만드세요.

정답 :

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

int main()
{
    char s1[31];
    char s2[31];

    scanf("%s", s1);
    strcpy(s2, s1);

    printf("%s\n", s1);
    printf("%s\n", s2);

    return 0;
}

 

 

 

42.11 심사 문제 : 두 문자열 붙이기

문제 : 표준 입력으로 길이 30 이하의 어떤 문자열이 입력됩니다. 다음 소스 코드를 완성하여 입력된 문자열 뒤에 "th"가 붙어서 출력되게 만드세요.

정답 :

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

int main()
{
    char s1[40];

    scanf("%s", s1);
    strcat(s1, "th");

    printf("%s\n", s1);

    return 0;
}

 

 

 

43.6 심사 문제 : 서수 줄임말 문자열 만들기

문제 : 표준 입력으로 1과 7 사이의 숫자와 길이 30 이하의 문자열이 입력됩니다. 다음 소스 코드를 완성하여 입력된 숫자의 서수 줄임말(1st, 2nd, 3rd, 4th, 5th, 6th, 7th)과 입력된 문자열이 출력되게 만드세요.

정답 :

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int number;
    char name[31], result[40];

    scanf("%d %s", &number, name);

    switch (number) {

        case 1:
            sprintf(result, "%dst %s", number, name);
            break;

        case 2:
            sprintf(result, "%dnd %s", number, name);
            break;

        case 3:
            sprintf(result, "%drd %s", number, name);
            break;

        case 4:

        case 5:

        case 6:

        case 7:
            sprintf(result, "%dth %s", number, name);

    }

    printf("%s\n", result);

    return 0;
}

 

 

 

44.7 심사 문제 : 공백 개수 세기

문제 : 표준 입력으로 길이 1,000 이하의 문자열이 입력됩니다. 입력된 문자열에서 공백의 개수를 출력하는 프로그램을 만드세요.

정답 :

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

int main(void)
{
	char s[1001];
	int count = 0;

	scanf("%[^\n]s", s);

	char* ptr = strchr(s, ' ');

	while (ptr != NULL)
	{
		count += 1;
		ptr = strchr(ptr + 1, ' ');
	}

	printf("%d", count);

	return 0;
}

 

복사했습니다!