728x90
Q1. 매개변수로 전달된 문자가 대문자면 소문자로, 소문자면 대문자로 변환하는 함수를 정의하시오.
<코드>
#include <iostream>
using namespace std;
char convert(char ch)
{
if(ch >= 65 && ch <= 90)
ch += 32;
else if(ch >= 97 && ch <= 122)
ch -= 32;
}
int main()
{
char data1, data2;
cout << "문자 입력 -> ";
cin >> data1;
data2 = convert(data1);
cout << data2 << endl;
}
<결과>
Q2. 매개변수로 단을 받아 해당 구구단을 출력하는 함수를 만드시오. 매개변수로 3이 전달되면 3단을 출력한다.
<코드>
#include <iostream>
using namespace std;
void gogodan(int dan)
{
int i;
for (i = 1; i <= 9; i++){
cout << dan << "*" << i << "=" << dan * i << endl;
}
}
int main()
{
int dan;
cout << "원하는 단을 입력하세요 : ";
cin >> dan; // 단 입력받기
gogodan(dan);
}
<결과>
Q3. 두 정수에 대한 평균을 구해서 실수로 반환하는 함수를 매개변수와 반환값이 있는 함수로 정의하시오.
<코드>
#include <iostream>
using namespace std;
double avg(int a, int b)
{
double average;
average = (double)(a + b) / 2;
return average ;
}
int main()
{
int a, b;
double res;
cout << "숫자 두 개를 입력하세요 : ";
cin >> a >> b;
res = avg(a, b);
cout << "평균 : " << res << endl;
}
<결과>
Q4. 문자와 숫자를 매개변수로 받아 해당 문자를 숫자만큼 출력하는 함수를 정의하시오.
#include <iostream>
using namespace std;
void charPrn(char ch, int n)
{
int i;
for(i = 1; i <= n; i++)
cout << ch;
}
int main()
{
char ch;
int n;
cout << "반복할 문자를 입력하세요. -> ";
cin >> ch;
cout << "반복할 횟수를 입력하세요. -> ";
cin >> n;
charPrn(ch, n);
}
<결과>
Q5. 주어진 정수까지 자연수의 합을 구해서 되돌리는 함수를 정의하시오.
<코드>
#include <iostream>
using namespace std;
int total(int n)
{
int i;
int tot;
for(i = 1; i <= n; i++)
{
tot += i;
}
return tot;
}
int main()
{
int n;
cout << "숫자를 입력하세요. -> ";
cin >> n;
cout << "1부터 " << n << "까지의 정수의 합 = " << total(n) << endl;
}
<결과>
Q6. 짝수인지 판별하는 함수를 정의하시오.
<코드>
#include <iostream>
using namespace std;
bool isEven(int n)
{
int even = n % 2;
bool result;
if(even == 0) // 비교연산자 사용
result = true;
else
result = false;
return result;
}
int main()
{
int n;
cout << "짝수, 홀수를 판별할 숫자를 입력하세요 -> ";
cin >> n;
if(isEven(n))
cout << "입력하신 숫자는 짝수입니다." << endl;
else
cout << "입력하신 숫자는 홀수입니다." << endl;
}
<결과>
Q7. 주어진 정수까지 팩토리얼을 구해서 되돌리는 함수를 정의하시오.
<코드>
#include <iostream>
using namespace std;
double factorial(int n)
{
int i;
int result = 1;
for(i = n; i >= 1; i--)
{
result *= i;
}
return result;
}
int main()
{
int num = 0;
double fac = 0;
cout << "숫자를 입력하세요 -> ";
cin >> num;
fac = factorial(num);
cout << num << "!= " << fac << endl;
}
<결과>
Q8. 정수, 정수, 연산자(+, -, *, / 중 하나)를 매개변수로 받아서 해당 연산자에 대한 결과를 구해서 출력하는 프로그램을 작성하되 다음과 같은 형태의 함수를 만드시오. (단, 0으로 나눌 경우 불가능임을 출력하자.)
<코드>
#include <iostream>
using namespace std;
int calculator(int a, int b, char op)
{
int result;
if(op == '+')
result = a + b;
else if(op == '-')
result = a - b;
else if(op == '*')
result = a * b;
else if(op == '/')
{
if(b == 0)
{
cout << "해당 연산은 불가능합니다. 0이 아닌 수로 나눠주세요." << endl;
return 0;
}
else
result = a / b;
}
return result;
}
int main()
{
int a,b,c;
char op;
cout << "두 정수와 +, -, *, / 중 하나의 연사자를 입력하세요(ex. 3 + 5) -> ";
cin >> a >> op >> b;
c = calculator(a, b, op);
cout << c << endl;
}
<결과>
'C++ > 문제풀이' 카테고리의 다른 글
[C++] for문, while문 연습문제(2) (0) | 2023.10.20 |
---|---|
[C++] for문, while문 연습문제(1) (2) | 2023.10.05 |
[C++] if문 연습문제 (0) | 2023.10.02 |
[C++] 자료형과 연산자 연습문제 (2) | 2023.09.18 |