-
JUNGOL...33일지 2020. 12. 15. 11:53
Language_Code/구조체/자가진단1
문제
"이름", "학교명", "학년"을 입력받아 아래와 같이 출력하는 프로그램을 작성하시오.(이름과 학교명은 각각 20자 이하이다.)
입력 예
Songjunhyuk Beolmal 6
출력 예
Name : Songjunhyuk
School : Beolmal
Grade : 6Hint!
BasicStruct01.h
#include <iostream> #include <string> using std::string; struct Student { string m_name; string m_schoolName; string m_grade; };
BasicStruct01.cpp
void BasicStruct01::Code() { Student student; std::cin >> student.m_name >> student.m_schoolName >> student.m_grade; std::cout << "Name : " << student.m_name << '\n'; std::cout << "School : " << student.m_schoolName << '\n'; std::cout << "Grade : " << student.m_grade; }
Language_Code/구조체/자가진단2
문제
"학교명", "학년"을 저장할 수 있는 구조체로 2개의 변수를 선언한 후,
한 개의 변수는 학교명에 "Jejuelementary", 학년에 "6"으로 각각 초기화하고
다른 변수에는 새로운 학교와 학년을 입력받아 아래와 같이 출력하는 프로그램을 작성하시오.
학교명은 20자 이하의 영문자이다.
입력 예
Seogwipomiddle 1
출력 예
6 grade in Jejuelementary School //초기화한 것
1 grade in Seogwipomiddle School //입력받은 것
BasicStruct02.h
#include <iostream> #include <string> using std::string; struct Student { string m_schoolName; string m_grade; };
BasicStruct02.cpp
void BasicStruct02::Code() { Student arr[2]{ "Jejuelementary","6" }; std::cin >> arr[1].m_schoolName >> arr[1].m_grade; for (int i = 0; i < 2; i++) { std::cout << arr[i].m_grade << " grade in " << arr[i].m_schoolName << " School\n"; } }
Language_Code/구조체/자가진단3
문제
두 명의 이름과 국어, 영어 점수를 입력받아 과목별 점수의 평균을 구하여 출력하는 프로그램을 작성해 보시오.
(이름은 20자 이하이고 평균의 소수점 이하는 버림한다.)
입력 예
Junho 88 100
Seonbin 95 96출력 예
Junho 88 100
Seonbin 95 96
avg 91 98
BasicStruct03.h
#include <iostream> #include <string> using std::string;
BasicStruct03.cpp
void BasicStruct03::Code() { Student arr[2]; for (int i = 0; i < 2; i++) { std::cin >> arr[i].m_name >> arr[i].m_koreanScore >> arr[i].m_englishScore; } int sumKR{ 0 }, sumEN{ 0 }; for (int i = 0; i < 2; i++) { sumKR += arr[i].m_koreanScore; sumEN += arr[i].m_englishScore; std::cout << arr[i].m_name << ' ' << arr[i].m_koreanScore << ' ' << arr[i].m_englishScore << '\n'; } std::cout << "avg " << sumKR / 2 << ' ' << sumEN / 2; }
Language_Code/구조체/자가진단4
문제
삼각형의 세 꼭지점의 정수 좌표를 입력받아 삼각형의 무게중심의 실수 좌표를 구하여
소수 첫째자리까지 출력하는 프로그램을 작성하시오.
입력 예
0 0 1 2 10 15
출력 예
(3.7, 5.7)
Hint!
세 꼭지점이 (x1 y1), (x2 y2), (x3 y3)인 삼각형의 무게중심 = ((x1+x2+x3)/3 (y1+y2+y3)/3)
BasicStruct04.h
#include <iostream> struct Point { int x, y; };
BasicStruct04.cpp
void BasicStruct04::Code() { Point points[3]; for (int i = 0; i < 3; i++) { std::cin >> points[i].x >> points[i].y; } float x{ 0 }, y{ 0 }; for (int i = 0; i < 3; i++) { x += points[i].x; y += points[i].y; } std::cout.precision(1); std::cout.setf(std::ios::fixed); std::cout << '(' << x / 3 << ", " << y / 3 << ')'; }
Language_Code/구조체/자가진단5
문제
5명의 이름과 키를 입력받아 키가 가장 작은 사람의 이름과 키를 출력하는 프로그램을 작성하시오. 이름은 20자 이하이다.
입력 예
Park 175
Lee 180
Choo 185
Son 193
Kim 188출력 예
Park 175
BasicStruct05.h
#include <iostream> #include <string> using std::string; struct Person { string m_name; int m_height; };
BasicStruct05.cpp
void BasicStruct05::Code() { Person arr[5]; for (int i = 0; i < 5; i++) { std::cin >> arr[i].m_name >> arr[i].m_height; } Person& shortest{ arr[0] }; for (int i = 1; i < 5; i++) { if (shortest.m_height > arr[i].m_height) { shortest = arr[i]; } } std::cout << shortest.m_name << ' ' << shortest.m_height; }
Language_Code/구조체/자가진단6
문제
5명의 이름과 키, 몸무게를 입력받아 이름순으로 정렬하여 출력하고,
몸무게가 무거운 순으로 정렬하여 출력하는 프로그램을 작성하시오.
몸무게는 소수점이하 1자리까지 출력한다.
입력 예
Lee 150 35.6
Kim 155 28.9
Sin 148 32.7
Jung 160 41.2
Park 165 38.7출력 예
name
Jung 160 41.2
Kim 155 28.9
Lee 150 35.6
Park 165 38.7
Sin 148 32.7
weight
Jung 160 41.2
Park 165 38.7
Lee 150 35.6
Sin 148 32.7
Kim 155 28.9
BasicStruct06.h
#include <iostream> #include <string> using std::string; struct Person { string m_name; int m_height; float m_weight; };
BasicStruct06.cpp
void BasicStruct06::Code() { Person arr[5]; for (int i = 0; i < 5; i++) { std::cin >> arr[i].m_name >> arr[i].m_height >> arr[i].m_weight; } std::cout.precision(1); std::cout.setf(std::ios::fixed); for (int i = 1; i < 5; i++) { for (int j = 0; j < 5 - i; j++) { if (arr[j].m_name > arr[j + 1].m_name) { Person temp{ arr[j] }; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } std::cout << "name\n"; for (int i = 0; i < 5; i++) { std::cout << arr[i].m_name << ' ' << arr[i].m_height << ' ' << arr[i].m_weight << '\n'; } for (int i = 1; i < 5; i++) { for (int j = 0; j < 5 - i; j++) { if (arr[j].m_weight < arr[j + 1].m_weight) { Person temp{ arr[j] }; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } std::cout << "\nweight\n"; for (int i = 0; i < 5; i++) { std::cout << arr[i].m_name << ' ' << arr[i].m_height << ' ' << arr[i].m_weight << '\n'; } }
NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)