문제1)
정수를 하나 입력 받아서
- 입력 받은 숫자가 10보다 크면 "입력된 숫자가 10보다 큽니다." 출력
- 10 이하 9 초과 이면 "9보다 큽니다." 출력
- 9 이하 6초과 이면 "6보다 큽니다." 출력
- 그 이외에는 "6보다 작거나 같습니다." 출력
#pragma region 0412 실습1(if)
//정수를 하나 입력 받아서
//입력 받은 숫자가 10보다 크면 "입력된 숫자가 10보다 큽니다." 출력
//10 이하 9 초과 이면 "9보다 큽니다." 출력
//9 이하 6초과 이면 "6보다 큽니다." 출력
//그 이외에는 "6보다 작거나 같습니다." 출력
int num; cout << "숫자를 입력하시오(0~10) : "; cin >> num; // 입력
// 처리
if (num > 10)
{
cout << "10보다 큽니다" << endl; // 출력
}
else if (num > 9 && num <= 10)
{
cout << "9보다 큽니다" << endl; // 출력
}
else if (num > 6 && num <= 9)
{
cout << "6보다 큽니다" << endl; // 출력
}
else
{
cout << "6보다 작거나 같습니다." << endl; // 출력
}
return 0;
#pragma endregion 0412 실습1(if)
문제2)
switch, if문을 활용하여 사용자가 숫자 입력시 다음과 같은 문구 띄우기.
- 당신의 고향은 어디입니까?
- 1. 서울 2. 양평 3. 광주 4. 대전 5 . 제주도
- 안녕하세요. 당신의 고향은 [서울]이군요.
안녕하세요. 당신의 고향은 [양평]이군요.
안녕하세요. 당신의 고향은 [광주]이군요.
안녕하세요. 당신의 고향은 [대전]이군요.
안녕하수꽝. 혼저옵서예
5개중에 선택해 주세요
cout << "당신의 고향은 어디입니까 ?" << endl;
cout << "1. 서울 2. 양평 3. 광주 4. 대전 5 . 제주도" << endl;
int num; cin >> num;
switch (num)
{
case 1:
cout << "안녕하세요.당신의 고향은[서울]이군요." << endl;
break;
case 2:
cout << "안녕하세요.당신의 고향은[양평]이군요." << endl;
break;
case 3:
cout << "안녕하세요.당신의 고향은[광주]이군요." << endl;
break;
case 4:
cout << "안녕하세요.당신의 고향은[대전]이군요." << endl;
break;
case 5:
cout << "안녕하수꽝. 혼저옵서예"<< endl;
break;
default:
cout << "5개중에 선택해 주세요" << endl;
break;
}
cout << "당신의 고향은 어디입니까 ?" << endl;
cout << "1. 서울 2. 양평 3. 광주 4. 대전 5 . 제주도" << endl;
int num; cin >> num;
if (num == 1)
{
cout << "안녕하세요.당신의 고향은[서울]이군요." << endl;
}
else if (num == 2)
{
cout << "안녕하세요.당신의 고향은[서울]이군요." << endl;
}
else if (num == 3)
{
cout << "안녕하세요.당신의 고향은[서울]이군요." << endl;
}
else if (num == 4)
{
cout << "안녕하세요.당신의 고향은[서울]이군요." << endl;
}
else if (num == 5)
{
cout << "안녕하수꽝. 혼저옵서예" << endl;
}
else
cout << "5개중에 선택해 주세요" << endl;
break를 안넣었을 경우. 문장 하나씩 출력되는것이 아닌 아래와 같이 동시에 출력되는것을 확인할 수있다.
swich case문을 작성할때에는 반드시 break를 써 주도록한다.
문제3)
while, do while문을 활용하여 Hello World 문구를 5번 연속으로 띄우기
int repeat_count = 0;
while (repeat_count < 5)
{
cout << "Hello World" << endl;
repeat_count++;
if (repeat_count >= 5)
{
break;
}
}
int repeat_count = 0;
do
{
cout << "Hello World" << endl;
repeat_count++;
if (repeat_count >= 5)
{
break;
}
} while (repeat_count < 5);
문제4)
while문을 써서 정답을 맞출 때 까지 반복되는 프로그램으로 수정해보자. 정답값은 (1~10 랜덤으로 추출한다)
// 처리
int correct_num = rand() % 9 + 1;
cout << "미리보는 정답 : " << correct_num << endl;
int input_quiz_number = -1;
while (input_quiz_number != correct_num)
{
// 입력
cout << "숫자를 맞춰 보세요 : ";
cin >> input_quiz_number;
// 출력 : true or false
(input_quiz_number == correct_num) ? cout << "true" << endl : cout << "false" << endl;
// break 조건을 추가
if (input_quiz_number == correct_num)
{
break;
}
}
문제5)
for문을 사용하여 조건에 맞는 값을 범위내에서 출력한다.
1) 역순출력(1~10),
2) 100 범위내에 3의배수 출력
3) 1000범위내에 2의2승 값출력
cout << "[10~1 출력]" << endl;
for (int i = 10; i > 0; i-- )
{
cout << i << endl;
}
cout << "[3의 배수 case1]" << endl;
for (int i = 1; 3 * i < 100; i++)
{
cout << 3 * i << endl;
}
cout << "[3의 배수 case2]" << endl;
for (int i = 1; i< 100; i++)
{
if (i % 3 == 0)
cout << i << endl;
}
cout << "[3의 배수 case3]" << endl;
for (int i = 3; i < 100; i = i + 3)
{
cout << i << endl;
}
cout << "[1000미만 2의승수]" << endl;
for (int i = 2; i < 1000; i = 2 * i)
{
cout << i << endl;
}
문제6)
for문을 사용하여 구구단 출력
1) 구구단을 2~9단까지 일자로 출력.
2) 구구단을 234, 567, 89단을 나누어서 출력.
1) - 1 일렬로 출력 (for문 사용)
for (int k = 2; k < 10; k++)
{
for (int i = 1; i < 10; i++)
{
cout << k << "x" << i << " = " << k * i << endl;
}
cout << "" << endl;
}
1) - 2 일렬로 출력 (while문 사용)
int k = 2;
while (k != 10)
{
cout << "[" << k << "]" << "단" << endl;
for (int i = 1; i < 10; i++)
{
cout << k << "x" << i << " = " << k * i << endl;
}
cout << "" << endl;
k++;
}
2) 나누어 출력 (노가다)
for (int i = 1; i < 10; i++)
{
for (int j = 2; j < 5; j++)
{
cout << j << "x" << i << " = " << j * i;
if (j*i >= 10)
cout << "\t";
else
cout << "\t\t";
}
cout << "" << endl;
}
cout << "" << endl;
for (int i = 1; i < 10; i++)
{
for (int j = 5; j < 8; j++)
{
cout << j << "x" << i << " = " << j * i;
if (j * i >= 10)
cout << "\t";
else
cout << "\t\t";
}
cout << "" << endl;
}
cout << "" << endl;
for (int i = 1; i < 10; i++)
{
for (int j = 8; j < 10; j++)
{
cout << j << "x" << i << " = " << j * i;
if (j * i >= 10)
cout << "\t";
else
cout << "\t\t";
}
cout << "" << endl;
}
3) 나누어 출력 (간결하게)
int i; int j; int k;
for (int i = 2; i < 10; i += 3)
{
for (int j = 1; j < 10; j++)
{
for (int k = i; k < i + 3; k++)
{
cout << k << " * " << j << " = " << k * j << "\t";
}
cout << "" << endl;
}
cout << "" << endl;
}
문제7)
for문과 if문을 사용하여 1~7번 모양의 별찍기 (백준문제)
//1)
// *
// **
// ***
// ****
// *****
//
//2)
// *
// **
// ***
// ****
// *****
//
//3)
// *****
// ****
// ***
// **
// *
//
//4)
// *****
// ****
// ***
// **
// *
//5)
// *
// ***
// *****
// *******
// *********
//
//6)
// *********
// *******
// *****
// ***
// *
//7)
//
// *
// ***
// *****
// *******
// *********
// ***********
// *********
// *******
// *****
// ***
// *
// 실습1.
for (int i = 1; i < 6; i++)
{
for (int j = 0; j < i; j++)
{
cout << "*";
}
cout << endl;
}
cout << endl;
// 실습2.
for (int i = 1; i < 6; i++)
{
for (int j = 0; j < i; j++)
{
for (int k = 0; k < (5 - i); k++)
{
if (j > 0)
break;
cout << " ";
}
cout << "*";
}
cout << endl;
}
cout << endl;
// 실습3.
for (int i = 1; i < 6; i++)
{
for (int j = 0; j < 6 - i; j++)
{
cout << "*";
}
cout << endl;
}
cout << endl;
// 실습4.
for (int i = 1; i < 6; i++)
{
for (int j = 0; j < 6 - i; j++)
{
for (int k = 1; k < i; k++)
{
if (j > 0)
break;
cout << " ";
}
cout << "*";
}
cout << endl;
}
cout << endl;
// 실습5.
for (int i = 1; i < 6; i++)
{
for (int j = 1; j < 2 * i; j++)
{
for (int k = 1; k < 6 - i; k++)
{
if (j > 1)
break;
cout << " ";
}
cout << "*";
}
cout << endl;
}
cout << endl;
// 실습6.
for (int i = 1; i < 6; i++)
{
for (int j = 1; j < 2 * (6 - i); j++)
{
for (int k = 1; k < i; k++)
{
if (j > 1)
break;
cout << " ";
}
cout << "*";
}
cout << endl;
}
cout << endl;
// 실습7.
for (int i = 1; i < 10; i++)
{
if (i <= 5)
{
for (int j = 1; j < 2 * i; j++)
{
for (int k = 1; k < 6 - i; k++)
{
if (j > 1)
break;
cout << " ";
}
cout << "*";
}
cout << endl;
}
else
{
for (int j = 1; j < 2 * (10 - i); j++)
{
for (int k = 1; k < i - 4; k++)
{
if (j > 1)
break;
cout << " ";
}
cout << "*";
}
cout << endl;
}
}
cout << endl;
문제8)
for문과 if문을 사용하여 그외 다양한 별찍기 (백준문제)
int n; cout << "숫자를 입력하시오" << endl; cin >> n;
for(int i = 1; i < 10; i++)
{
if (i <= n)
{
for (int j = 0; j < i; j++)
{
cout << "*";
}
for (int j = 0; j < (10 - 2*i); j++)
{
cout << " ";
}
for (int j = 0; j < i; j++)
{
cout << "*";
}
cout << endl;
}
else
{
for (int j = 4; j >= i - 5; j--)
{
cout << "*";
}
for (int j = 0; j < (2 * i - 10); j++)
{
cout << " ";
}
for (int j = 4; j >= i - 5; j--)
{
cout << "*";
}
cout << endl;
}
}
// 별준 9.
int n1; cin >> n1;
for(int i = 1; i < n1 * 2; i++)
{
if (i <= n1)
{
for (int j = 0; j < i ; j++)
{
cout << " ";
}
for (int j = 1; j < (12 - 2 * i); j++)
{
cout << "*";
}
cout << endl;
}
else
{
for (int j = 0; j < 10 - i ; j++)
{
cout << " ";
}
for (int j = 1; j < (2 * i - 8); j++)
{
cout << "*";
}
cout << endl;
}
}