JUNGOL...35
Language_Code/포인터/자가진단1
문제
정수형 변수와 포인터 변수를 선언하고 정수를 입력받아 포인터 변수를 이용하여 정수형 변수의 메모리 주소와 값을 출력하는 프로그램을 작성하시오.
주소 출력은 "%#p"를 이용하시오. 아래는 메모리 주소가 "0X11110000"이라고 가정했을 때이다.
입력 예
20
출력 예
0X11110000 20
Hint!
BasicPointer01.h
#include <iostream>
BasicPointer01.cpp
void BasicPointer01::Code()
{
int var;
std::cin >> var;
int* p{ &var };
std::cout << "0x" << p << ' ' << *p;
}
Language_Code/포인터/자가진단2
문제
정수형 포인터를 이용하여 값을 입력받고 입력받은 값을 10으로 나눈 몫과 나머지를 출력하는 프로그램을 작성하시오.
입력 예
123
출력 예
12...3
BasicPointer02.h
#include <iostream>
BasicPointer02.cpp
void BasicPointer02::Code()
{
int* p = new int;
std::cin >> *p;
std::cout << *p / 10 << "..." << *p % 10;
delete p;
}
Language_Code/포인터/자가진단3
문제
포인터 변수 두 개를 이용하여 두 수를 입력받고 사칙 연산을 수행하여 출력하는 프로그램을 작성하시오.
입력 예
35 6
출력 예
35 + 6 = 41
35 - 6 = 29
35 * 6 = 210
35 / 6 = 5
BasicPointer03.h
#include <iostream>
BasicPointer03.cpp
void BasicPointer03::Code()
{
int* p1 = new int;
int* p2 = new int;
std::cin >> *p1 >> *p2;
std::cout << *p1 << " + " << *p2 << " = " << *p1 + *p2 << '\n';
std::cout << *p1 << " - " << *p2 << " = " << *p1 - *p2 << '\n';
std::cout << *p1 << " * " << *p2 << " = " << *p1 * *p2 << '\n';
std::cout << *p1 << " / " << *p2 << " = " << *p1 / *p2;
delete p1, p2;
}
Language_Code/포인터/자가진단4
문제
5개짜리 정수형 배열을 선언하고 포인터 변수에 저장한 후 포인터 변수를 이용하여 입력을 받은 후 홀수번째 입력값을 출력하는 프로그램을 작성하시오.
입력 예
1 15 23 9 12
출력 예
1 23 12
BasicPointer04.h
#include <iostream>
BasicPointer04.cpp
void BasicPointer04::Code()
{
int arr[5];
int* p{ arr };
for (int i = 0; i < 5; i++)
{
std::cin >> p[i];
}
for (int i = 1; i <= 5; i++)
{
if (i % 2 == 1)
{
std::cout << p[i - 1] << ' ';
}
}
}
Language_Code/포인터/자가진단5
문제
실수 5개를 원소로 하는 배열을 선언하고 포인터 변수를 이용하여 입력과 출력을 실행하는 프로그램을 작성하시오 출력은 반올림하여 소수 첫째자리까지 출력하는 것으로 한다.
입력 예
10 25.3 1.05 0.78 100
출력 예
10.0 25.3 1.1 0.8 100.0
BasicPointer05.h
#include <iostream>
BasicPointer05.cpp
void BasicPointer05::Code()
{
double arr[5];
double* p{ arr };
for (int i = 0; i < 5; i++)
{
std::cin >> p[i];
}
std::cout.precision(1);
std::cout.setf(std::ios::fixed);
for (int i = 0; i < 5; i++)
{
std::cout << p[i] << ' ';
}
}
Language_Code/포인터/자가진단6
문제
배열의 크기를 입력받아 입력받은 크기만큼 실수 배열을 생성하고 배열의 원소를 입력받은 후 입력받은 자료 및 합과 평균을 반올림하여 소수 둘째자리까지 출력하는 프로그램을 작성하시오.
입력 예
4
15 23.6 100.35 0.388
출력 예
15.00 23.60 100.35 0.39
hap : 139.34
avg : 34.83
Hint!
입력받은 값을 소수 둘째 자리까지 출력하는 것이고 합계와 평균은 입력 받은 값으로 계산 후 소수 둘째 자리까지 출력하는 것이다.
BasicPointer06.h
#include <iostream>
BasicPointer06.cpp
void BasicPointer06::Code()
{
int n;
std::cin >> n;
double* arr = new double[n];
double sum{ 0 };
for (int i = 0; i < n; i++)
{
std::cin >> arr[i];
sum += arr[i];
}
double avg{ sum / n };
std::cout.precision(2);
std::cout.setf(std::ios::fixed);
for (int i = 0; i < n; i++)
{
std::cout << arr[i] << ' ';
}
std::cout << '\n';
std::cout << "hap : " << sum << '\n';
std::cout << "avg : " << avg;
delete[] arr;
}
Language_Code/포인터/자가진단7
문제
배열의 크기를 입력받아 입력받은 크기만큼 배열에 정수를 입력받고 내림차순으로 정렬하여 출력하는 프로그램을 작성하시오.
입력 예
4
15 23 100 38
출력 예
100 38 23 15
BasicPointer07.h
#include <iostream>
BasicPointer07.cpp
void BasicPointer07::Code()
{
int n;
std::cin >> n;
int* arr = new int[n];
for (int i = 0; i < n; i++)
{
std::cin >> arr[i];
}
for (int i = 1; i < n; i++)
{
for (int j = 0; j < n - i; j++)
{
if (arr[j] < arr[j + 1])
{
int temp{ arr[j] };
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < n; i++)
{
std::cout << arr[i] << ' ';
}
}
NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)
NadanKim/CodingTest_JUNGOL
JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.
github.com