편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.11.29

    C 문자열과 특정 문자를 입력받아 특정 문자 이전의 문자를 출력하는 코드


    아래가 제가 풀고있는 문제입니다.

    문제 설명

    공백을 포함하지 않는 문자열과 특정 문자를 입력받아 특정 문자 이전의 문자를 출력하는 코드를 작성하시오. 문자열의 길이는 최대 100개로 제한하며, 문자가 포함되지 않았을 때는 ‘NO.’를 출력한다.

    int main()
    {
    
     if (  == NULL)
    
        printf("NO.");
    
    else
    
        printf("이전문자는 %s입니다.", p);
    }
    

    입력 예시 1

    STRING I
    

    출력 예시 1

    이전문자는 STRI입니다.
    

    입력 예시 2

    Pororo O
    

    출력 예시 2

    NO.
    

    #include<stdio.h>
    
    int main() {
    
      char a[100];
      char b[100];
      char ptr[10];
    
      char *result = NULL;
    
      scanf("%s %s", a, ptr);
    
      int i;
      int count = 0;
    
      for(i = 0; a[i] != *ptr; i++){
        count++;
      }
    
      for(i = 0; i <= count; i++){
        b[i] = a[i];
      }
    
      result = b;
    
      if(result == NULL)
        printf("NO.");
      else
        printf("이전문자는 %s입니다.", b);
    
      return 0;
    }
    
    

    strchr을 이용해서 해결해볼려다가 도저히 어떻게 해야하는 모르겠어서 위 코드처럼 인덱스로 접근해봤지만, 저 if, else 문을 반드시 사용하라는 것 때문에 적절한 코드를 어떻게 작성해야 할지 난해하여 이렇게 다시 질문드려봅니다.

  • 프로필 IBNhyeoli님의 편집
    날짜2021.11.29

    질문의 의도를 잘못 전달한 것 같아서 다시 고쳐서 질문드립니다


    아래가 제가 풀고있는 문제입니다.

    문제 설명

    공백을 포함하지 않는 문자열과 특정 문자를 입력받아 특정 문자 이전의 문자를 출력하는 코드를 작성하시오. 문자열의 길이는 최대 100개로 제한하며, 문자가 포함되지 않았을 때는 ‘NO.’를 출력한다.

    int main() {

    if ( == NULL)

    printf("NO.");
    

    else

    printf("이전문자는 %s입니다.", p);
    

    }

    입력 예시 1

    STRING I

    출력 예시 1

    이전문자는 STRI입니다.

    입력 예시 2

    Pororo O

    출력 예시 2

    NO.

    #include<stdio.h>
    
    int main() {
    
      char a[100];
      char b[100];
      char ptr[10];
    
      char *result = NULL;
    
      scanf("%s %s", a, ptr);
    
      int i;
      int count = 0;
    
      for(i = 0; a[i] != *ptr; i++){
        count++;
      }
    
      for(i = 0; i <= count; i++){
        b[i] = a[i];
      }
    
      result = b;
    
      if(result == NULL)
        printf("NO.");
      else
        printf("이전문자는 %s입니다.", b);
    
      return 0;
    }
    
    

    strchr을 이용해서 해결해볼려다가 도저히 어떻게 해야하는 모르겠어서 위 코드처럼 인덱스로 접근해봤지만, 저 if, else 문을 반드시 사용하라는 것 때문에 적절한 코드를 어떻게 작성해야 할지 난해하여 이렇게 다시 질문드려봅니다.