화 웨 이 필기시험 - 간단 한 비밀번호

제목 설명
비밀 번 호 는 우리 생활 에서 매우 중요 한 것 이다. 우리 의 그 조금도 말 할 수 없 는 비밀 은 모두 그것 에 달 려 있다.와 하하. 이어서 연 자 는 비밀번호 에 비밀 번 호 를 추가 해 야 한다. 간단 하지만 안전 하 다.
만약 에 연자 가 원래 BBS 에 있 는 비밀 번 호 를 zvbo 9441987 이 라 고 가정 하면 기억 하기 편 하도록 그 는 알고리즘 을 통 해 이 비밀 번 호 를 YUANzhi 1987 로 바 꾸 었 다. 이 비밀 번 호 는 그의 이름과 생년월일 로 아무리 잊 어도 잊 을 수 없 으 며 눈 에 띄 는 곳 에 두 고 진정한 비밀 번 호 를 알 리 지 않 을 수 있다.
그 는 이렇게 바 뀌 었 다. 모두 가 휴대 전화의 알파벳 을 안다. 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0 - 0, 이렇게 간단 합 니 다. 연 자 는 비밀번호 에 나타 난 소문 자 를 모두 대응 하 는 숫자 로 바 꾸 고 숫자 와 다른 기 호 는 바 꾸 지 않 습 니 다.
성명: 비밀번호 에 빈 칸 이 없고 비밀번호 에 나타 난 대문자 가 소문 자로 변 한 다음 에 한 자 리 를 뒤로 옮 깁 니 다. 예 를 들 어 X, 먼저 소문 자로 변 하고 한 자 리 를 뒤로 옮 기 는 것 은 Y 잖 아 요. 간단 하 죠?기억 해, z 뒤로 이동 은 a 야.
입력 설명:
여러 개의 테스트 데 이 터 를 입력 하 십시오.입력 은 명문 입 니 다. 암호 길이 가 100 자 를 넘 지 않 고 파일 이 끝 날 때 까지 입력 하 십시오.
출력 설명:
연자 의 진정한 밀 문 을 출력 하 다
예시 1
입력
YUANzhi1987
출력
zvbo9441987
코드 는 다음 과 같다.

int main()
{
	string str,ostr;
	vector ostrs;
	while(getline(cin,str))
	{
		for(unsigned int i = 0; i < str.size(); i++)
		{
			if('A' <= str[i] && str[i] <= 'Z')
			{
				if('Z' == str[i])
				{
					ostr.push_back('a');
				}
				else
				{
					ostr.push_back(str[i] + 32 + 1);
				}
			}
			else if('0' <= str[i] && str[i] <= '9')
				ostr.push_back(str[i]);
			else if('a' <= str[i] && str[i] <= 'c')
				ostr.push_back('2');
			else if('d' <= str[i] && str[i] <= 'f')
				ostr.push_back('3');
			else if('g' <= str[i] && str[i] <= 'i')
				ostr.push_back('4');
			else if('j' <= str[i] && str[i] <= 'l')
				ostr.push_back('5');
			else if('m' <= str[i] && str[i] <= 'o')
				ostr.push_back('6');
			else if('p' <= str[i] && str[i] <= 's')
				ostr.push_back('7');
			else if('t' <= str[i] && str[i] <= 'v')
				ostr.push_back('8');
			else if('w' <= str[i] && str[i] <= 'z')
				ostr.push_back('9');
		}
		ostrs.push_back(ostr);
		ostr.clear();
	}
	for(unsigned int i = 0; i < ostrs.size(); i++)
		cout << ostrs[i] << endl;
	return 0;
}

 
 
 

좋은 웹페이지 즐겨찾기