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

C++ 109제] 어서와 C++는 처음이지! CHAPTER 03 PE 14.

by 건티 2022. 11. 3.
728x90

출처 : 반크_백제역사유적지구와 이스탄불 역사지구

 

참고풀이]

#include <iostream>
#include <string>
#include <cstdlib> //srand(), rand()
#include <ctime> //time()
using namespace std;

int main()
{
   string Str[3]={"korea","apple","computer"};//Game 문자열
   string GameStr;//선택된 문자열을 섞어 놓은 문자열
   string PlayerStr;//사용자가 입력한 문자열 
   int n;//출제될 문자열의 위치 
   int p1,p2;//변경될 문자의 위치 
   char temp;//임시 저장할 문자변수 
   int i;//반복변수 

   //실행될 때마다 다른 문제 출제가 되도록 초기화한다.
   srand(time(NULL));

   //문제를 선택한다.
   n=rand()%3;
   GameStr=Str[n];

   //선택된 문자열의 길이 만큼 섞는다.
   for(i=1;i<=GameStr.length();i++)
   {
      p1=rand()%GameStr.size();
      p2=rand()%GameStr.size();
      temp=GameStr[p1];
      GameStr[p1]=GameStr[p2];
      GameStr[p2]=temp;
   }

   //문제를 출제한다.
   cout << GameStr << "은 어떤 단어가 스크램블된 것일까요? ";
   cin >> PlayerStr;

   //사용자 문자열과 출제된 문자열을 비교하여 정답여부를 결정한다.
   if(Str[n].compare(PlayerStr)==0) cout << "축하합니다.";
   else cout << "아까비! 잘생각해 보세요.";

   return 0;
}

 

참고풀이 결과]

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글