본문 바로가기
프로그램/C언어 1000제

C언어 171제] solved.ac class1 문자와 문자열

by 건티 2024. 9. 17.
728x90

출처 : 반크_세계유산 경복궁

 

문제]

단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오.

입력
첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 S가 주어진다. 단어의 길이는 최대 
1,000이다.

둘째 줄에 정수 i가 주어진다. (1 <= i <= |S|)

출력

S의 i번째 글자를 출력한다.

예제 입력 1 
Sprout
3
예제 출력 1 
r

예제 입력 2 
shiftpsh
6
예제 출력 2 
p

예제 입력 3 
Baekjoon
4
예제 출력 3 
k

노트
문자열 S에 대해 |S|는 S의 길이를 의미한다.

출처 : 백준_27866번

 

참고풀이]

#include <stdio.h>
#include <string.h>//strlen():문자열의 문자의 개수 구하는 함수 
#include <ctype.h>//toupper():대문자로 변환함수 

int main()
{
   char S[2000]={'\0'};//1000자 이내의 문자열 입력변수
   int n;//정수 입력변수 
   int i;//인덱스 또는 반복변수
 
   while(1)
   {
      scanf("%s",S);
      if(strlen(S)<=1000)//입력문자열은 1000자 이내이며 
      {
         //입력문자는 영어소문자와 대문자만 가능 
         for(i=0;i<strlen(S);i++)
            if(toupper(S[i])>='A' && toupper(S[i])<='Z');
            else return 0;
         break;
      }
   }
   while(1)
   {
      scanf("%d",&n);
      if(n>=1 && n<=strlen(S)) break;
      return 0;
   }

   //결과출력
   printf("%c",S[n-1]);

   return 0;
}

 

참고풀이 결과]

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 겨울

 

반응형

댓글