본문 바로가기
문제 풀이/기본개념과 원리로 배우는C++

개념과 핵심원리로 배우는 C++ 프로그래밍 3장 프로그래밍 문제

by 준그래머 2023. 10. 31.
반응형

1. 삼항 연산자를 이용하여 입력받은 정수의 짝수, 홀수 여부를 출력하는 프로그램을 작성하시오.

#include <iostream>
#include <string>
using namespace std;
string evenodd(int num){
 
 string even = "짝수";
 string odd = "홀수"; 
 return num % 2 == 0 ? even : odd;
}
int main (void){
 int num;
 
 while(true){
  cout << "정수를 입력하세요(0을 입력하면 종료합니다.) : ";
  cin >> num;
  if(num == 0){
   cout << "종료합니다." << endl;
   break;
  }
  cout << num << "은(는) "<< evenodd(num)<< endl << endl;
 } 
 return 0;
}

 

2. XOR을 이용하여 정수 a와 b의 값을 교환하는 프로그램을 완성하시오.

void main()
{
 int a = 3;
 int b = 7;

// 코드 작성

 cout << a << " " << b << endl;
}
#include <iostream>
using namespace std;
int main(void){
 int a = 3;
 int b = 7;
 int tmp;
 cout << "==기존 a,b의 값=="<< endl;
 cout << "a :" << a << " b : " << b << endl;
 a = a^b;
 b = a^b;
 a = a^b;
 cout << "==XOR을 이용하여 값 교환 a,b의 값=="<< endl;
 cout << "a :" << a << " b : " << b << endl;
}

 

3. 삼항 연산자를 이용하여 NOT을 함수로 구현하여 다음 프로그램을 완성하시오.

void main()
{ 
cout << NOT(0) << endl;
 cout << NOT(1) << endl;
}
#include <iostream>
using namespace std;
int NOT(int k){
 return k ? 0 : 1;
}
int main (void){
 cout << NOT(0) << endl;
 cout << NOT(1) << endl;
 
 return 0;
}

 

4. 삼항 연산자를 이용하여 10,000보다 작은 정수를 입력받은 후 자리 수를 출력하는 프로그램을 작성하시오. (단, 723이 입력되면 3을 출력, 9872가 입력되면 4를 출력한다.)

#include <iostream>
using namespace std;
int divide(int num){
 if(num >= 1000 && num < 10000){
  return num >= 1000 && num < 10000 ? 4 : 0; 
 }
 if(num >= 100 && num < 1000){
  return num >= 100 && num < 1000 ? 3 : 0; 
 }
 if(num >= 10 && num < 100){
  return num >= 10 && num < 100 ? 2 : 0;
 }
 if(num >= 0 && num < 10)
  return num >= 0 && num < 10 ? 1 : 0;
}
int main (void){
 int num;
 while(true){
  cout << "10000보다 작은 정수를 입력하세요 : ";
  cin >> num;
  if(num>= 10000){
   cout << "종료합니다.";
   break; 
  }
  cout << num << "의 자리수 : " << divide(num) << endl << endl; 
 }
}

풀이는 생략 합니다~~

반응형