본문 바로가기
C++/문제풀이

[C++] for문, while문 연습문제(1)

by 씐 2023. 10. 5.
728x90

Q1. for문을 사용해서 알파벳 A부터 Z까지 출력하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  char chr;
  
  for(chr = 'A'; chr <= 'Z'; chr++){
    cout << chr << "\t";
  }
}

 

<결과>

 

<해석>

동등 연산자(==)가 아닌 대입 연산자(=)을 쓴 이유

  •  for문의 첫번째는 조건식을 쓰는 것이 아닌 변수값의 초기식을 설정해주는 부분이기 때문이다.
  • true 또는 fasle를 판단하는 것이 아니라 chr에 값을 대입하는 부분이기 때문이다.

 

 

Q2.  for문과 if문을 사용해서 1에서 100사이에 있는 짝수의 합을 구하는 프로그램을 작성하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  int total;
  for (int i = 1; i <= 100; i++){
    if(i % 2 == 0){
      total += i;
    }
  }
  cout << "total : " << total;
}

 

<결과> 

 

 

 

Q3. continue문을 사용해서 1에서부터 15까지 5의 배수가 출력되지 않도록 프로그램을 완성하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  int n;
  
  for(n = 1; n <= 15; n++){
    if(n % 5 == 0){
      continue;
    }
    cout << n << "\t";
  }
}

 

<결과>

 

 

Q4. 별(*)로 직각삼각형을 출력하는 프로그램을 작성하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  int n;
  int m;
  
  for(n = 0; n < 5; n++){
    for(m = 0; m < 5-n; m++){
    cout << "*";
  }
  cout << "\n";
 }
}

 

<결과>

 

 

Q5. 1부터 15까지의 숫자를 역삼각형으로 출력하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  int n, m;
  int i = 1;
  
  for(n = 0; n < 5; n++){
    for(m=0; m < 5-n; m++){
      cout << i << "\t";
      i++;
    }
   cout << "\n";
  }
}

 

<결과>

 

 

Q6. 1부터 9까지의 숫자를 삼각형으로 출력하시오.

 

 

<코드>

#include <iostream>
using namespace std;
int main()
{
    int n, m, k;
    int i = 1;
    int num = 3;
    
    for(n = 0; n < num; n++){
        for(m = num - 1; m > n; m--){
            cout << " ";
        }
        for(k = 0; k < 2*n + 1; k++){
            cout << i++;
        }
        cout << "\n";
    }
}

 

 

Q7. 정수를 입력받아 1부터 그 정수까지의 합을 구해서 출력하는 프로그램을 작성하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  int n, k;
  int i = 1;
  int total = 0;
  
  cout << "정수 입력 : ";
  cin >> n;
  
  cout << "n" << "\t" << "1부터 n까지의 합\n ";
  cout << "----------------------------------\n";
  
  for(k = 0; k < n; k++){
    total += i;
    cout << i << "\t" << total << "\n";
    i++;
  }
}

 

<결과>

 

<해설>

  • 여기서는 초기값을 정해주는 것이 중요했다.
  • 특히 total에 초기값을 정해주지 않으면 쓰레기 값이 나왔다.

 

 

Q8. 1부터 10까지의 짝수의 곱을 구하는 프로그램을 작성하시오.

 

<코드>

#include <iostream>
using namespace std;
int main()
{
  int i;
  int total = 1;
  
  for(i = 1; i <= 10; i++){
    if(i % 2 == 0){
      total *= i;
    }
  }
  cout << "1부터 10까지의 짝수의 곱 : " << total;
}

 

<결과>

 

<해설>

  • 여기서도 total의 초기값이 중요했다.
  • 만약에 total의 초기값을 설정해주지 않았다면, 0으로 결과가 나왔을 것이다.
  • 곱셈식이기 때문에 0으로 나오는 것이다.

'C++ > 문제풀이' 카테고리의 다른 글

[C++] 함수  (2) 2024.09.30
[C++] for문, while문 연습문제(2)  (0) 2023.10.20
[C++] if문 연습문제  (0) 2023.10.02
[C++] 자료형과 연산자 연습문제  (2) 2023.09.18