7.13.2017

07.13 C++ 복습

#include <iostream>
using namespace std;

void main() {
        int count = 0;
        cout << "1~100 숫자 중 짝수의 총합은??" << endl;

        for (int i = 1; i <= 100; i++) {
                if (i % 2 == 0)
                        count += i;
        }
        cout << count;
}

=========================================================================

        //2단~9단 출력
        int i;
        for (int i = 2; i < 10; i++) {
                for (int j = 1; j < 10; j++) {
                        cout <<<< " x " << j <<  " = " << i * j << endl;
                } cout<<  "\n";
        }

=========================================================================

        //2*1, 2*2, 3*1, 3*2, 3*3, 4*1.. 출력하기
        방법 1. for문 변형하기
        int i;
        for (int i = 2; i < 10; i++) {
                for (int j = 1; j <= i; j++) {
                        cout <<<< " x " << j << " = " << i * j << endl;
                } cout << "\n";
        }

=========================================================================

        방법 2. break문 이용하기 
        int i;
        for (int i = 2; i < 10; i++) {
                for (int j = 1; j <= 10; j++) {
                        cout << i << " x " << j << " = " << i * j << endl;
                        if (j == i) break;
                } cout << "\n";
        }

=========================================================================

        //continue문은 중괄호 끝으로 보내버리기~

        int i = 0;
        while (i < 10) {
                cout << << endl;
                if (i == 5) continue;
                i++;
        }

        for (int j = 0; j < 10; j++) {
                if (j == 5) continue;
                cout << j << endl;
        }

=========================================================================


        //32~64까지의 숫자 중에서 40~51까지의 숫자를 제외한 짝수 출력(단, continue문을 이용할것)
        방법 1. 이중 if문 사용하기

        for (int i = 32; i <= 64; i++) {
if (i%2 == 0) {
                        if (i >= 40 && i <= 51)
                                continue;
                        cout << i << endl;
                }
        }

        방법 2. i를 2씩 증가시키기 
        for (int i = 32; i <= 64; i +=2) {
                if (i >= 40 && i <= 51) continue;
                        cout << << endl;
        }

        방법 3. if문 하나 이용하기
        for (int i = 32; i <= 64; i++) {
                if (i >= 40 && i <= 51 || i % 2 != 0) {
                        continue;
                }
                        cout << i << endl;

        }

=========================================================================

        //무한 반복문에서 숫자 입력받기 (단, 0을 누르면 반복문 종료 후 입력 받은 숫자 중 짝수의 총합 출력)

        int sum = 0, j;
        cout << "숫자를 입력해주세요. " << endl;
        while(true){
                cin >> j;
                if (j % 2 == 0)
                        sum = sum + j;
                if (j == 0) break;

        } cout << "입력하셨던 짝수의 총합은 " << sum << endl;
}

=========================================================================

//1~60까지 숫자 중 숫자 맞추기 (오류남)
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

void main() {
srand(time(NULL));

int realAnswer, answer, prevAnswer = 0;
realAnswer = rand() % 60 + 1;

cout << "답을 입력해주세요. " << endl;

for (int i = 0; i < 10; i++) {
cin >> answer;
if (answer > realAnswer) {
                        if (prevAnswer < answer) {
                                cout << "기회를 한 번 더 드리겠습니다." << endl;
                                cin >> answer;
                        }
cout << "더 작은 수를 입력해주세요" << endl;
                }
else if (answer < realAnswer) {
                        if (prevAnswer > answer) {
                                cout << "기회를 한 번 더 드리겠습니다." << endl;
                                cin >> answer;
                        }
cout << "더 큰 수를 입력해주세요. " << endl;
                }
else {
cout << "정답입니다. " << endl;
break;
} prevAnswer = answer;
        }

}
=========================================================================
 // 정답
        int min = 0, max = 61;
        for (int i = 0; i < 10; i++)
        {
                cin >> answer;
                if (answer == realAnswer) {
                        cout << "정답입니다. " << endl;
                        break;
                }
                else if (answer < realAnswer && answer > min) {
                        cout << "더 큰 수를 입력하시오. " << endl;
                        min = answer;
                }
               else if (max > answer && answer > realAnswer) {
                        cout << "더 작은 수를 입력하시오. " << endl;
                        max = answer;
                }
                else {
                        cout << "기회 한번 더 " << endl;
                        i--;
                }
        }

댓글 없음:

댓글 쓰기