보관함
JUNGOL 기초다지기 06 반복제어문1
niamdank
2019. 11. 19. 21:20
프로그래밍에서 가장 기초적인 내용을 다루는 기초 다지기입니다.
이번 포스팅은 기초 다지기 중 여섯 번째인 반복제어문1 문제를 풀어보도록 하겠습니다.
기초 내용인 만큼 다른 설명없이 문제와 코드만 간단하게 작성하도록 하겠습니다.
536 : 반복제어문1 - 자가진단1

#include <iostream>
using namespace std;
int main(void)
{
int num = 1;
while (num <= 15)
{
cout << num++ << ' ';
}
cout << endl;
}
537 : 반복제어문1 - 자가진단2

#include <iostream>
using namespace std;
int main(void)
{
int var;
cin >> var;
int num = 1;
int sum = 0;
while (num <= var)
{
sum += num++;
}
cout << sum << endl;
}
538 : 반복제어문1 - 자가진단3

#include <iostream>
using namespace std;
int main(void)
{
int var;
while(true)
{
cout << "number? ";
cin >> var;
if (var == 0)
break;
if (var > 0)
cout << "positive integer" << endl;
else
cout << "negative number" << endl;
}
}
539 : 반복제어문1 - 자가진단4

이 문제는 do-while문을 사용하기 적절한 문제입니다.
#include <iostream>
using namespace std;
int main(void)
{
int var;
int count = 0, sum = 0;
do
{
cin >> var;
count++;
sum += var;
} while (var < 100);
cout.setf(ios::fixed);
cout.precision(1);
float avg = static_cast<float>(sum) / count;
cout << sum << endl;
cout << avg << endl;
}
540 : 반복제어문1 - 자가진단5

#include <iostream>
using namespace std;
int main(void)
{
int var;
while (true)
{
cin >> var;
if (var == -1)
break;
if (var % 3 == 0)
{
cout << var / 3 << endl;
}
}
}
633 : 반복제어문1 - 자가진단6

#include <iostream>
using namespace std;
void PrintMenu();
bool IsInMenu(int select);
void PrintCityName(int select);
int main(void)
{
int select;
do
{
PrintMenu();
cout << "number? ";
cin >> select;
PrintCityName(select);
} while (IsInMenu(select));
}
void PrintMenu()
{
cout << "1. Korea" << endl;
cout << "2. USA" << endl;
cout << "3. Japan" << endl;
cout << "4. China" << endl;
}
bool IsInMenu(int select)
{
return select >= 1 && select <= 4;
}
void PrintCityName(int select)
{
cout << endl;
switch (select)
{
case 1:
cout << "Seoul" << endl;
break;
case 2:
cout << "Washington" << endl;
break;
case 3:
cout << "Tokyo" << endl;
break;
case 4:
cout << "Beijing" << endl;
break;
default:
cout << "none" << endl;
break;
}
cout << endl;
}
125 : 반복제어문1 - 형성평가1

#include <iostream>
using namespace std;
int main(void)
{
int var;
cin >> var;
for (int i = 1; i <= var; ++i)
{
cout << i << ' ';
}
cout << endl;
}
126 : 반복제어문1 - 형성평가2

#include <iostream>
using namespace std;
int main(void)
{
int var;
int even = 0, odd = 0;
while (true)
{
cin >> var;
if (var == 0)
break;
if (var % 2 == 0)
even++;
else
odd++;
}
cout << "odd : " << odd << endl;
cout << "even : " << even << endl;
}
127 : 반복제어문1 - 형성평가3

#include <iostream>
using namespace std;
bool IsInRange(int var, int min, int max);
int main(void)
{
int var, sum = 0, count = 0;
while(true)
{
cin >> var;
if (!IsInRange(var, 0, 100))
break;
sum += var;
count++;
}
float avg = static_cast<float>(sum) / count;
cout.setf(ios::fixed);
cout.precision(1);
cout << "sum : " << sum << endl;
cout << "avg : " << avg << endl;
}
bool IsInRange(int var, int min, int max)
{
if (var < min) return false;
if (var > max) return false;
return true;
}
128 : 반복제어문1 - 형성평가4

#include <iostream>
using namespace std;
int main(void)
{
int var, count = 0;
while (true)
{
cin >> var;
if (var == 0)
break;
if (var % 3 != 0 && var % 5 != 0)
count++;
}
cout << count << endl;
}
129 : 반복제어문1 - 형성평가5

#include <iostream>
using namespace std;
bool CheckContinue();
int main(void)
{
int base, height;
cout.setf(ios::fixed);
cout.precision(1);
do
{
cout << "Base = ";
cin >> base;
cout << "Height = ";
cin >> height;
cout << "Triangle width = " << base * height * 0.5f << endl;
} while (CheckContinue());
}
bool CheckContinue()
{
char ch;
cout << "Continue? ";
cin >> ch;
if (ch == 'Y' || ch == 'y')
return true;
return false;
}
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&sca=1060
JUNGOL | 문제은행 1 페이지
www.jungol.co.kr