-
아스키(ASCII)코드, 대소문자 변환_220716데일리 codeup/문자열 2022. 7. 16. 15:19
아스키 코드
c++ 에서 사용할 수 있는 모든 문자들은 전부 하나의 숫자와 대응되며, 이를
아스키 코드
라 부른다.
'A' = 65
'Z' = 90
'a' = 97
'z' = 122
space = 32
아스키코드의 합과 차
영문자 두 개가 주어지면 각 문자의 아스키코드의 합과 차를 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ char a,b; cin >> a >> b; cout<< (int)a + b << ' ' <<abs((int)a - b); return 0; }
아스키코드표 맞추기
33이상 126이하인 자연수 5개가 주어지면 해당하는 아스키코드값을 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ int a; for(int i=0;i<5;i++){ cin >> a; cout<<(char)a<<' '; } return 0; }
아스키코드 변환
영문자 a와 정수 b가 주어지면, 영문자 a에 해당하는 아스키코드 번호와, 숫자 b 번호에 해당하는 아스키 문자를 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ char a; int b; cin >> a >> b; cout<< (int)a <<' '<<(char)b; return 0; }
그 다음 알파벳
소문자 알파벳이 하나 주어지면, 그 다음 소문자 알파벳을 출력하는 프로그램을 작성해보세요. 단, 'z'의 다음 소문자 알파벳은 'a'라고 생각합니다.
#include <iostream> #include <string> using namespace std; int main(){ char a; cin >> a; if((int)a == 122) a = 'a'; else a+=1; cout << (char)a; return 0; }
그 전 알파벳
소문자 알파벳이 하나 주어지면, 그 전 소문자 알파벳을 출력하는 프로그램을 작성해보세요.
단,
a
의 전 소문자는z
라고 생각합니다.#include <iostream> using namespace std; int main(){ char a; cin >> a; if(a == 'a') cout<<'z'; else cout<<(char)(a-1); return 0; }
대소문자 변환
대문자 x가 주어졌을 때, 이를 소문자로 바꿔주는 코드
방법1.
ASCII
코드char x = 'C'; x -> 67 x - 'A' -> 2 (67 - 65)
방법2.
tolower()
함수tolower
함수는cctype
헤더에 들어 있다. +)toupper
함수는 소문자를 대문자로 변환시킨다.#include <iostream> #include <cctype> using namespace std; int main() { char x = 'C'; cout << (char) tolower(x); return 0; }
대소문자 판별
cctype
헤더에서 제공하는isupper()
,islower()
함수 -> 해당하는 경우 return true 해당하지 않는경우 return false'C'.isupper() == true;
알파벳인지에 대한 여부
isalpha
라는 함수 이용한다. -> 소문자 return 2, 대문자 return 1, 알파벳이 아니라면 return 0isalpha('C') == 2
숫자인지에 대한 여부 역시
isdigit
이라는 함수 -> 숫자가 아니라면 return 0isdigit('4') != 0
대문자로 출력하기
문자열이 주어지면 알파벳만 모두 대문자로 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <cctype> #include <string> using namespace std; int main(){ string s; cin >> s; for(int i=0;i<s.length();i++){ if(isalpha(s[i]) != 0) cout<<(char)toupper(s[i]); } return 0; }
소문자와 숫자
문자열이 주어지면 영문자와 숫자만 출력하되, 영문자는 모두 소문자로 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <cctype> #include <string> using namespace std; int main(){ string s; cin >> s; for(int i=0;i<s.length();i++){ if(isdigit(s[i]) != 0) cout<<s[i]; else if(isalpha(s[i]) == 0 ) continue; else cout<<(char)tolower(s[i]); } return 0; }
대문자 소문자 바꾸기
알파벳으로 이루어진 문자열이 하나 주어지면, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string s; cin >> s; for(int i=0;i<s.length();i++){ if(s[i]<91) cout<<(char)(s[i] + 32); else cout<<(char)(s[i] - 32); } return 0; }
'데일리 codeup > 문자열' 카테고리의 다른 글
문자열 비교_220716 (0) 2022.07.16 문자열을 정수로, 정수를 문자열로 변환하기_220716 (0) 2022.07.16 문자열 밀기_220716 (0) 2022.07.16 문자 수정, 문자 삭제_220716 (0) 2022.07.16 문자열 concat, 문자열 찾기_220714 (0) 2022.07.14