ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUNGOL 기초다지기 07 반복제어문2
    보관함 2019. 11. 21. 22:10

    프로그래밍에서 가장 기초적인 내용을 다루는 기초 다지기입니다.

    이번 포스팅은 기초 다지기 중 일곱 번째인 반복제어문2 문제를 풀어보도록 하겠습니다.

     

    기초 내용인 만큼 다른 설명없이 문제와 코드만 간단하게 작성하도록 하겠습니다.


    541 : 반복제어문2 - 자가진단1

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	char ch;
    
    	cin >> ch;
    
    	for (int i = 0; i < 20; ++i)
    		cout << ch;
    	cout << endl;
    }

     

    542 : 반복제어문2 - 자가진단2

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	for (int i = 10; i <= 20; ++i)
    		cout << i << ' ';
    	cout << endl;
    }

     

    543 : 반복제어문2 - 자가진단3

     

    이 문제는 조건문을 사용해야할 것 같지만 조금만 더 생각하면 조건문 없이 처리가 가능합니다.

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var;
    
    	cin >> var;
    
    	for (int i = 2; i <= var; i += 2)
    		cout << i << ' ';
    	cout << endl;
    }

     

    544 : 반복제어문2 - 자가진단4

     

    이런 문제는 사실 반복문을 사용하는 것 보다는 수학 공식을 사용하는 편이 더 효율적입니다.

    다만 지금은 문제의 의도가 반복문을 사용하는 것이기 때문에 문제의 의도에 따르도록 하겠습니다.

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var;
    
    	cin >> var;
    
    	int sum = 0;
    	for (int i = var; i <= 100; ++i)
    		sum += i;
    	cout << sum << endl;
    }

     

    545 : 반복제어문2 - 자가진단5

     

    10개의 정수를 입력받는다고 무조건 배열을 만들어 입력 받을 필요는 없습니다.

    문제의 유형에 따라 단순히 반복문 내부에서 입력받은 값을 바로 처리할 수 있는 경우엔 그렇게 하는 편이 더 좋습니다.

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int countMul3 = 0, countMul5 = 0;
    
    	int var;
    	for (int i = 0; i < 10; ++i)
    	{
    		cin >> var;
    		
    		if (var % 3 == 0)
    			countMul3++;
    		if (var % 5 == 0)
    			countMul5++;
    	}
    
    	cout << "Multiples of 3 : " << countMul3 << endl;
    	cout << "Multiples of 5 : " << countMul5 << endl;
    }

     

    546 : 반복제어문2 - 자가진단6

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int lim;
    
    	cin >> lim;
    
    	int var, sum = 0;
    	for (int i = 0; i < lim; ++i)
    	{
    		cin >> var;
    		sum += var;
    	}
    
    	float avg = static_cast<float>(sum) / lim;
    
    	cout.setf(ios::fixed);
    	cout.precision(1);
    
    	cout << "avg : " << avg << endl;
    
    	if (avg >= 80.0f)
    		cout << "pass" << endl;
    	else
    		cout << "fail" << endl;
    }

     

    547 : 반복제어문2 - 자가진단7

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	for (int i = 2; i <= 6; ++i)
    	{
    		for (int j = 0; j <= 4; ++j)
    		{
    			cout << i + j << ' ';
    		}
    		cout << endl;
    	}
    	cout << endl;
    }

     

    548 : 반복제어문2 - 자가진단8

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main(void)
    {
    	cout.setf(ios::right);
    	
    	for (int i = 2; i <= 4; ++i)
    	{
    		for (int j = 1; j <= 5; ++j)
    		{
    			cout << i << " * " << j << " = " << setw(2) << i * j << "   ";
    		}
    		cout << endl;
    	}
    	cout << endl;
    }

     

    130 : 반복제어문2 - 형성평가1

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int n;
    
    	cin >> n;
    
    	for (int i = 0; i < n; ++i)
    	{
    		cout << "JUNGOL" << endl;
    	}
    }

     

    131 : 반복제어문2 - 형성평가2

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var1, var2;
    
    	cin >> var1 >> var2;
    
    	int beg = (var1 < var2) ? var1 : var2;
    	int end = (var1 > var2) ? var1 : var2;
    	for (int i = beg; i <= end; ++i)
    	{
    		cout << i << ' ';
    	}
    	cout << endl;
    }

     

    132 : 반복제어문2 - 형성평가3

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var;
    
    	cin >> var;
    
    	int sum = 0;
    	for (int i = 5; i <= var; i += 5)
    	{
    		sum += i;
    	}
    
    	cout << sum << endl;
    }

     

    133 : 반복제어문2 - 형성평가4

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int n;
    
    	cin >> n;
    
    	int var, sum = 0;
    	for (int i = 0; i < n; ++i)
    	{
    		cin >> var;
    		sum += var;
    	}
    
    	float avg = static_cast<float>(sum) / n;
    
    	cout.setf(ios::fixed);
    	cout.precision(2);
    
    	cout << avg << endl;
    }

     

    134 : 반복제어문2 - 형성평가5

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var;
    	int oddCount = 0, evenCount = 0;
    
    	for (int i = 0; i < 10; ++i)
    	{
    		cin >> var;
    		if (var % 2 == 0)
    			evenCount++;
    		else
    			oddCount++;
    	}
    
    	cout << "even : " << evenCount << endl;
    	cout << "odd : " << oddCount << endl;
    }

     

    135 : 반복제어문2 - 형성평가6

     

    귀찮은 문제가 나왔네요. 어렵다기 보다는 문제에 조건을 정확히 명시하지 않는 문제입니다.

    입력이 뒤에 오는 숫자가 더 작을 수도 있는 조건이 있습니다.

    #include <iostream>
    
    using namespace std;
    
    void Swap(int& var1, int& var2);
    
    int main(void)
    {
    	int var1, var2;
    
    	cin >> var1 >> var2;
    
    	if (var1 > var2)
    		Swap(var1, var2);
    
    	int sum = 0, count = 0;
    	for (int i = var1; i <= var2; ++i)
    	{
    		if (i % 3 == 0 || i % 5 == 0)
    		{
    			sum += i;
    			count++;
    		}
    	}
    
    	float avg = static_cast<float>(sum) / count;
    
    	cout.setf(ios::fixed);
    	cout.precision(1);
    
    	cout << "sum : " << sum << endl;
    	cout << "avg : " << avg << endl;
    }
    
    void Swap(int& var1, int& var2)
    {
    	int temp = var1;
    	var1 = var2;
    	var2 = temp;
    }

     

    136 : 반복제어문2 - 형성평가7

     

    for문 내에는 콤마로 구분하여 여러개의 연산을 넣을 수 있습니다.

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var;
    
    	cin >> var;
    
    	for (int i = var, count = 0; count < 10; i += var, ++count)
    	{
    		cout << i << ' ';
    	}
    	cout << endl;
    }

     

    137 : 반복제어문2 - 형성평가8

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int height, width;
    
    	cin >> height >> width;
    
    	for (int i = 1; i <= height; ++i)
    	{
    		for (int j = 0, num = i; j < width; ++j, num += i)
    		{
    			cout << num << ' ';
    		}
    		cout << endl;
    	}
    }

     

    138 : 반복제어문2 - 형성평가9

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int var;
    	
    	cin >> var;
    
    	for (int i = 1; i <= var; ++i)
    	{
    		for (int j = 1; j <= var; ++j)
    		{
    			cout << '(' << i << ", " << j << ") ";
    		}
    		cout << endl;
    	}
    }

     

    139 : 반복제어문2 - 형성평가A

     

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main(void)
    {
    	int var1, var2;
    
    	cin >> var1 >> var2;
    
    	for (int i = 1; i <= 9; ++i)
    	{
    		if (var1 < var2)
    		{
    			for (int j = var1; j <= var2; ++j)
    			{
    				cout << j << " * " << i << " = " << setw(2) << j * i << "   ";
    			}
    		}
    		else
    		{
    			for (int j = var1; j >= var2; --j)
    			{
    				cout << j << " * " << i << " = " << setw(2) << j * i << "   ";
    			}
    		}
    		cout << endl;
    	}
    }

     

    http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&sca=1070

     

    JUNGOL | 문제은행 1 페이지

     

    www.jungol.co.kr

    댓글

Designed by Tistory.