본문 바로가기
Programming/C++

C++ 과제 제어문 13문제 - 0407

by ahhang0k 2021. 4. 8.

 

 

1. 값을 입력받고 서로 교환하는 프로그램 (함수 사용x)

#include <iostream>
using namespace std;

int main()
{

	//1번  값을 입력받고 서로 교환하는 프로그램
	int num1, num2, temp;

	cout << "정수를 하나 입력하세요: ";
	cin >> num1;

	cout << "정수를 하나 더 입력해주세요: ";
	cin >> num2;

	temp = num1;
	num1 = num2;
	num2 = temp;

	cout << "x의 값은 " << num1 << "으로 " << "y의 값은 " << num2 << "으로 변경되었습니다." << endl;

	return 0;
}

 

 

2. 월을 입력받아 조건 연산자를 이용하여 “지금은 하반기입니다.”, “지금은 상반기입니다.” 를 출력하자. 

#include <iostream>
using namespace std;

int main() {
	//2번 월을 입력받아 조건 연산자를 이용하여 “지금은 하반기입니다.”, “
	//지금은 상반기입니다.” 를 출력하자. 

	int month;

	cout << "월을 입력하세요: ";
	cin >> month;

	(month > 6) ? (cout << "지금은 하반기 입니다.") : (cout << "지금은 상반기 입니다.") << endl;

	return 0;
}

 

 

3. 초 단위의 시간을 입력 받아 몇 시간, 몇 분, 몇 초인지를 계산하는 프로그램

#include <iostream>
using namespace std;

int main() {
	int sec;
	int min;
	int hour;


	cout << "초단위를 입력해주세요: ";
	cin >> sec;


	min = sec / 60;
	sec = sec % 60;
	hour = min / 60;

	cout << hour << " 시간 " << min << " 분 " << sec << " 초 입니다." << endl;
	return 0;
}

 

 

4. 정수 2개를 입력받아 두 수의 합을 출력하는 프로그램

#include <iostream>
#include<stdlib.h>
using namespace std;

int main() {
	////4번 정수 2개를 입력받아 두 수의 합을 출력하는 프로그램
	int num1;
	int num2;
	int sum = 0;

	cout << "정수를 입력하세요: ";
	cin >> num1;

	if (num1 < 0) {
		num1 = abs(num1);
	}

	cout << "정수를 하나더 입력하세요: ";
	cin >> num2;

	if (num2 < 0) {
		num2 = abs(num2);
	}

	sum = num1 + num2;
	cout << "두 수의 합은 " << sum << "입니다." << endl;

	return 0;
}

 

 

5. 하나의 영문자를 입력받아 대문자는 소문자로, 소문자는 대문자로 변환하는 프로그램

#include <iostream>
using namespace std;

int main() {
	////5번 하나의 영문자를 입력받아 대문자는 소문자로, 소문자는 대문자로 변환하는 프로그램
	char ch;

	cout << "영문자를 입력해주세요: ";
	cin >> ch;


	if (ch >= 'a' && ch <= 'z') {
		cout << char(ch - 32);
	}
	else if (ch >= 'A' && ch <= 'Z') {
		cout << char(ch + 32);
	}
	else {
		cout << "다시 입력해 주세요." << endl;
	}

	return 0;
}

 

 

6. 사람의 몸무게와 키를 입력받아 비만도를 출력하는 프로그램

#include <iostream>
using namespace std;

int main() {
	//6번 사람의 몸무게와 키를 입력받아 비만도를 출력하는 프로그램
	double cm, m, kg, bmi;

	cout << "몸무게를 입력하시오 ";
	cin >> kg;
	cout << "키를 입력하시오 ";
	cin >> cm;

	m = cm / 100;

	bmi = kg / (m * m);

	cout << "당신의 비만도는 : ";
	cout << fixed;
	cout.precision(1);
	cout << bmi << endl;

	if (bmi > 25) {
		cout << "과체중입니다." << endl;
	}
	else if (bmi >= 20) {
		cout << "표준체중입니다" << endl;
	}
	else
		cout << "저체중입니다." << endl;



	return 0;
}

 

 

7.  키보드를 통해 하나의 문자를 입력받고 출력하는 것을 반복하는 프로그램

#include <iostream>
using namespace std;

int main() {
	//7번 키보드를 통해 하나의 문자를 입력받고 출력하는 것을 반복하는 프로그램
	char c1;

	do
	{
		cout << "하나의 문자를 입력하세요 : ";
		cin >> c1;
		cout << "입력된 문자는 : " << c1 << endl;
	} while (c1 != 'z');

	cout << "종료되었습니다." << endl;

	return 0;
}

 

 

8.  2개의 수를 입력받아 두 수 사이 정수의 합을 구하는 프로그램을 for문을 이용하여 작성하는 프로그램

#include <iostream>
using namespace std;

int main() {
	////8번 2개의 수를 입력받아 두 수 사이 정수의 합을 구하는 프로그램을 for문을 이용하여 작성
	int MAX, MIN, sum, temp1;
	cout << "첫번째 수를 입력해 주세요: ";
	cin >> MAX;
	cout << "두번째 수를 입력해 주세요: ";
	cin >> MIN;

	//두 수 중 작은 것을 앞에 둔다.
	if (MAX > MIN) {
		cout << MAX << "는 최대값 입니다." << endl;
		cout << MIN << "는 최소값 입니다." << endl;
		temp1 = MAX;
		MAX = MIN;
		MIN = temp1;
	}
	else {
		cout << MIN << "는 최대값 입니다." << endl;
		cout << MAX << "는 최소값 입니다." << endl;
	}

	//작은 수 부터 큰 수까지 사이값 더하기.
	for (sum = 0; MAX <= MIN; MAX++) {
		sum += MAX;
	}
	cout << "두 수 사이 전체의 합은 : " << sum << endl;

	return 0;
}

 

 

9.  switch~case문을 이용하여 월을 입력받아 계절을 출력하는 프로그램

#include <iostream>
using namespace std;

int main() {
	//9번 월을 입력받아 계절을 출력하는 프로그램을 switch~case문을 이용
	int month1;

	cout << "월을 입력해 주세요: ";
	cin >> month1;

	switch (month1) {

	case 12:
	case 1:
	case 2:
		cout << month1 << "월은 겨울입니다." << endl;
		break;

	case 3:
	case 4:
	case 5:
		cout << month1 << "월은 봄입니다." << endl;
		break;

	case 6:
	case 7:
	case 8:
		cout << month1 << "월은 여름입니다." << endl;
		break;

	case 9:
	case 10:
	case 11:
		cout << month1 << "월은 가을입니다." << endl;
		break;
	}


	return 0;
}

 

 

10. 택시 운전기사의 하루 요금 수입이 기준금액(30만원)을 초과하면 영업을 중단하라는 프로그램

#include <iostream>
using namespace std;

int main() {
	//10번  택시 운전기사의 하루 요금 수입이 기준금액(30만원)을 초과하면 영업을 중단하라는 프로그램
	
	/* 
	방법(1)
	int i;
	int fee;
	int sum1 = 0;

	while (!(sum1 >= 300000)) {
		   cout << "택시 운전사의 하루 요금 수입을 입력해주세요: ";
			cin >> fee;
			sum1 += fee;
	}

	cout << "영업이 종료 되었습니다." << endl;*/


	//방법(2)
	int i;
	int fee;
	int sum1 = 0;

	while (1) {
		cout << "택시 운전사의 하루 요금 수입을 입력해주세요: ";
		cin >> fee;
		sum1 += fee;
		if (sum1 >= 300000) {
			cout << "영업이 종료 되었습니다.";
			break;
		}
	}


	return 0;
}

 

 

11.  숫자 하나를 입력받은 후, 3의 배수를 그 개수만큼 출력하는 프로그램

#include <iostream>
using namespace std;

int main() {
	//11번 숫자 하나를 입력받은 후, 3의 배수를 그 개수만큼 출력하는 프로그램
	int i = 0, number;
	cout << "출력할 3의 배수의 개수는 : ";
	cin >> number;

	for (int i = 1; i <= number; i++) {
		cout << 3 * i << " ";
	}

	return 0;
}

 

 

12.  2와 100사이에 있는 모든 소수를 찾는 프로그램

#include <iostream>
using namespace std;

int main() {
	//12번  2와 100사이에 있는 모든 소수를 찾는 프로그램
	int a, b, c; //a는 약수 판별 대상 b는 나눌 수

	for (a = 2; a <= 100; a++)
	{
		c = 0; // c는 약수카운터
		for (b = 1; b <= a; b++)
		{
			if (a % b == 0) {
				c++;
			}
		}
		if (c == 2) { //1하고 자기자신 2개가 될 때 소수
			cout << a << "는 소수입니다. " << endl;
		}

	}

	return 0;
}

 

 

13.  다중 for문 사용하여 거꾸로 반달 피라미드? 출력

#include <iostream>
using namespace std;

int main() {

	// 13번 다중 for문 사용하여 거꾸로 반달 피라미드? 출력
	int x, y;
	for (x = 0; x < 10; x++) {
		for (y = 0; y < 10 - x; y++) {
			cout << "*";
		}
		cout << "" << endl;
	}

	return 0;
}






 

 

'Programming > C++' 카테고리의 다른 글

C++ 실습 함수 0408  (0) 2021.04.08
C++ 함수  (0) 2021.04.08
반복문 - while  (0) 2021.04.07
C++ 실습 과제 0407  (0) 2021.04.07
반복문 - while문, for문  (0) 2021.04.06

댓글