본문 바로가기

알고리즘

알고리즘 문제 2. 반복문

반응형

표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~200, 두 번째 입력 값의 범위는 10~200이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 다음 소스 코드를 완성하여 첫 번째 정수와 두 번째 정수 사이의 숫자 중 7로 끝나지 않는 숫자가 출력되게 만드세요.

//연습 문제1
//입력 :
int exnum1 = 0; //정수1
int exnum2 = 0; // 정수2
int exnum3 = 0;

cout << "두번재 정수" << endl;
cin >> exnum2;

exnum3 = exnum1;

//처리 : 
//나머지가 7이 아닌 숫자들만 출력되게 설정
//첫번째 정수는 1 ~200사이값
// 두번째 정수는 10 ~ 200 사이값
// 두번째 정수 > 첫번째 정수 (항상)

//무한 반복문
do {
    cout << "첫번재 정수" << endl;
    cin >> exnum1;
} while (!(exnum1 >= 1 && exnum1 <=200));
do {
    cout << "두번재 정수" << endl;
    cin >> exnum2;
} while (!(exnum2 >= 10 && exnum2 <=200));

while (1) {
    exnum3++;

    //exnum3 가 exnum2보다 커지면 break;
    if (exnum3 >= exnum2) {
        break;
    }
    if (exnum3 % 10 == 7 ) {
        continue; //7로 끝나면 밑에있는것 실행하지 않고 다음 루프로 넘어감
    }

    cout << exnum3 << endl;
}
  1. 두 정수의 값이 범위안에 없으면 다시 반복문을 돌려 cin함수가 실행되도록 한다.
  2. 두 정수가 범위안의 값이면 두 정수 사이값을 반복문을 돌려 추출한다.
반응형