-
JUNGOL...23일지 2020. 11. 19. 21:26
Language_Code/함수1/자가진단1
문제
문자열 "~!@#$^&*()_+|" 를 출력하는 함수를 작성하고 정수를 입력받아 입력받은 수만큼 함수를 호출하는 프로그램을 작성하시오.
* 주의 : 문자열을 잘 확인하세요.
* 문자열을 복사해서 출력해도 됩니다.
입력 예
3
출력 예
~!@#$^&*()_+|
~!@#$^&*()_+|
~!@#$^&*()_+|
Hint!
BasicFunction101.h
#include <iostream> class BasicFunction101 : public Base { private: void Function(); };
BasicFunction101.cpp
void BasicFunction101::Code() { int var; std::cin >> var; for (int i = 0; i < var; i++) { Function(); } } void BasicFunction101::Function() { std::cout << "~!@#$^&*()_+|\n"; }
Language_Code/함수1/자가진단2
문제
반지름의 길이를 전달받아 넓이를 출력하는 함수를 작성하고 반지름의 길이를 입력받아 함수를 호출하여 넓이를 출력하는 프로그램을 작성하시오.
단, 원주율(π)은 3.14로 하고 반올림하여 소수 둘째자리까지 출력한다.원의 넓이 = 반지름(r) * 반지름(r) * 원주율(π)이다.
입력 예
10
출력 예
314.00
BasicFunction102.h
#include <iostream> class BasicFunction102 : public Base { private: void Function(int radius); };
BasicFunction102.cpp
void BasicFunction102::Code() { int radius; std::cin >> radius; Function(radius); } void BasicFunction102::Function(int radius) { const float PI{ 3.14f }; float area{ radius * radius * PI }; std::cout.precision(2); std::cout.setf(std::ios::fixed); std::cout << area; }
Language_Code/함수1/자가진단3
문제
100 미만의 정수만 입력된다. 정수 n을 입력받아 n x n 크기의 숫자사각형을 출력하는 프로그램을 작성하시오.
이때 정수 n을 전달받아 숫자 정사각형을 출력하는 함수를 작성하고, 입력받은 정수 n을 함수로 전달하여 출력한다.
입력 예
4
출력 예
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
BasicFunction103.h
#include <iostream> class BasicFunction103 : public Base { private: void Function(int n); };
BasicFunction103.cpp
void BasicFunction103::Code() { int n; std::cin >> n; Function(n); } void BasicFunction103::Function(int n) { int num{ 1 }; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { std::cout << num++ << ' '; } std::cout << '\n'; } }
Language_Code/함수1/자가진단4
문제
세 개의 정수를 전달받아 최대값을 구하여 리턴하는 함수를 작성하고,
세 정수를 입력받아 최대값을 출력하는 프로그램을 작성하시오.
입력 예
-10 115 33
출력 예
115
BasicFunction104.h
#include <iostream> class BasicFunction103 : public Base { private: void Function(int var1, int var2, int var3); };
BasicFunction104.cpp
void BasicFunction104::Code() { int var1, var2, var3; std::cin >> var1 >> var2 >> var3; Function(var1, var2, var3); } void BasicFunction104::Function(int var1, int var2, int var3) { int maximum{ (var1 > var2 ? (var1 > var3 ? var1 : var3) : (var2 > var3 ? var2 : var3)) }; std::cout << maximum; }
Language_Code/함수1/자가진단5
문제
10 이하의 두 정수가 주어진다.
이를 입력 받아서 첫 번째 수를 두 번째 수만큼 거듭제곱하여 나온 값을 리턴하는 함수를 작성하여
다음과 같이 출력하는 프로그램을 작성하시오.
입력 예
2 10
출력 예
1024
BasicFunction105.h
#include <iostream> class BasicFunction103 : public Base { private: void Function(int var1, int var2); };
BasicFunction105.cpp
void BasicFunction105::Code() { int var1, var2; std::cin >> var1 >> var2; Function(var1, var2); } void BasicFunction105::Function(int var1, int var2) { int result{ 1 }; for (int i = 0; i < var2; i++) { result *= var1; } std::cout << result; }
Language_Code/함수1/자가진단6
문제
정수의 연산식을 입력받아 연산을 위한 함수를 호출하여
4칙연산(+ - * /)의 연산결과를 출력하는 프로그램을 작성하시오.
('/'의 경우는 정수 부분만 출력하고 4칙연산 이외의 연산 결과는 0으로 한다.)
( if_else 문으로 작성하세요.)입력 예
10 + 20
출력 예
10 + 20 = 30
BasicFunction106.h
#include <iostream> class BasicFunction103 : public Base { private: void Function(int var1, char ch, int var2); };
BasicFunction106.cpp
void BasicFunction106::Code() { int var1, var2; char ch; std::cin >> var1 >> ch >> var2; Function(var1, ch, var2); } void BasicFunction106::Function(int var1, char ch, int var2) { std::cout << var1 << ' ' << ch << ' ' << var2 << " = "; if (ch == '+') { std::cout << var1 + var2; } else if (ch == '-') { std::cout << var1 - var2; } else if (ch == '*') { std::cout << var1 * var2; } else if (ch == '/') { std::cout << static_cast<int>(var1 / var2); } else { std::cout << 0; } }
Language_Code/함수1/자가진단7
문제
서로 다른 두 개의 정수가 주어진다.
두 정수를 입력받아 큰 수는 2로 나눈 몫을 저장하고 작은 수는 2를 곱하여 저장한 후 출력하는 프로그램을 작성하시오.
(참조에 의한 호출을 이용한 함수를 작성하여 값을 수정하고 출력은 메인함수에서 한다.)
입력 예
100 500
출력 예
200 250
BasicFunction107.h
#include <iostream> class BasicFunction103 : public Base { private: void Function(int& var1, int& var2); };
BasicFunction107.cpp
void BasicFunction107::Code() { int var1, var2; std::cin >> var1 >> var2; Function(var1, var2); std::cout << var1 << ' ' << var2; } void BasicFunction107::Function(int& var1, int& var2) { if (var1 < var2) { var1 *= 2; var2 /= 2; } else { var1 /= 2; var2 *= 2; } }
Language_Code/함수1/자가진단8
문제
10 이하의 두 개의 양의 정수를 입력받아서 작은 수부터 큰 수까지의 구구단을 차례대로 출력하는 프로그램을 구조화하여 작성하시오.
입력 예
3 5
출력 예
== 3dan ==
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
== 4dan ==
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
…
5 * 8 = 40
5 * 9 = 45
BasicFunction108.h
#include <iostream> #include <iomanip> class BasicFunction103 : public Base { private: void Function(int var1, int var2); };
BasicFunction108.cpp
void BasicFunction108::Code() { int var1, var2; std::cin >> var1 >> var2; Function(var1, var2); } void BasicFunction108::Function(int var1, int var2) { int small{ var1 < var2 ? var1 : var2 }; int big{ var1 < var2 ? var2 : var1 }; for (int i = small; i <= big; i++) { std::cout << "== " << i << "dan ==\n"; for (int j = 1; j <= 9; j++) { std::cout << i << " * " << j << " = " << std::setw(2) << i * j << '\n'; } std::cout << '\n'; } }
NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)