Baekjoon Online Judge
4458번: 첫 글자를 대문자로
첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다.
www.acmicpc.net
[문제]
문장을 읽은 뒤, 줄의 첫 글자를 대문자로 바꾸는 프로그램을 작성하시오.
[입력]
첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다.
[출력]
각 줄의 첫글자를 대문자로 바꾼뒤 출력한다.
[코드]
#include <iostream>
#include <string>
using namespace std;
int main()
{
int N;
string s;
cin >> N;
cin.ignore();
for (int i = 0; i < N; i++)
{
getline(cin, s);
if ((int)s[0] >= 97)
s[0] -= 32;
cout << s << '\n';
}
return 0;
}
공백이 포함된 문자열을 입력받을 때는 getline()을 사용한다.
만약 getline()을 사용하기 전에 cin을 사용했다면 cin.ignore()를 통해 버퍼를 비워주어야 한다.
'Baekjoon > C++' 카테고리의 다른 글
[C++][BOJ/백준] 10984 내 학점을 구해줘 (1) | 2024.02.10 |
---|---|
[C++][BOJ/백준] 17496 스타후르츠 (0) | 2024.02.09 |
[C++][BOJ/백준] 3047 ABC (1) | 2024.02.07 |
[C++][BOJ/백준] 2864 5와 6의 차이 (0) | 2024.02.06 |
[C++][BOJ/백준] 5533 유니크 (0) | 2024.02.05 |