개인 공부
-
C언어 코딩도장 54.7 심사문제: 정수 데이터 공용체 정의하기개인 공부/C언어 공부 2020. 8. 27. 20:48
문제 : 다음 소스 코드를 완성하여 0x11 4가 출력되게 만드세요. 실행 결과 : 0x11 4 너무 주입식으로(?) 공부해서 d1.num1에 0x1111이 저장되고, sizeof(d1)은 4인 것만 보고 아 그럼 num1은 short형이고, num1이랑 c1 말고 int형 변수가 하나 더 있어야겠구나~! 하고 변수 세 개를 선언했었는데 그럴 필요가 없었다.. -_- ㅋㅋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include union Data { int num1; char c1; }; int main() { union Data d1; d1.num1 = 0x1111; printf("0x%x %d\n", d1.c1, sizeof(d1)); return 0; } Colo..
-
C언어 코딩도장 53.7 : 나이가 가장 많은 사람 찾기개인 공부/C언어 공부 2020. 8. 26. 03:45
문제 : 표준 입력으로 5명의 인적 정보가 입력됩니다(홀수 번째는 이름, 짝수 번째는 나이). 다음 소스 코드를 완성하여 입력된 사람 중에서 나이가 가장 많은 사람의 이름이 출력되게 만드세요. 한 시간 정도 끙끙거렸던 문제...ㅠ_ㅠ 1차 시도 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 for (int i = 0; i age); } int max = 0; for (int i = 0; i age > p[i]->age) { max = i + 1; } else max = i; } printf("%s\n", p[max]->name); Colored by Color Scripter cs 사실 비주얼 스튜디오에서 에러 떠서 고친 건데도 오답이라고 떴다..
-
C언어 코딩도장 53.6 : 선의 길이 구하기개인 공부/C언어 공부 2020. 8. 26. 02:29
문제 : 표준 입력으로 x, y 좌표 4개가 입력되어 Point2D 구조체 배열에 저장됩니다. 여기서 점 4개는 첫 번째 점부터 마지막 점까지 순서대로 이어져 있습니다. 다음 소스 코드를 완성하여 첫 번째 점부터 마지막 점까지 연결된 선의 길이가 출력되게 만드세요. 문제에선 이미 배열 크기가 정해져 있어서 for 루프 조건에서 sizeof(p) / sizeof(struct Point2D)를 이용하지 않았는데 흠... 그렇게 해볼 걸 그랬나 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #define _CRT_SECURE_NO_WARNINGS #include #include struct Point2D { int x..
-
C언어 코딩도장 52.7 : 인적 정보 복제하기개인 공부/C언어 공부 2020. 8. 26. 01:53
문제 : 다음 소스 코드를 완성하여 인적 정보가 출력되게 만드세요(함수 안의 인수만 채우면 됩니다). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #define _CRT_SECURE_NO_WARNINGS #include #include #include struct Person { char name[20]; int age; char address[100]; }; int main() { struct Person* p1 = malloc(sizeof(struct Person)); struct Person p2; strcpy(p1->name, "고길동"); p1->age = 40; strcpy(p1->addr..
-
C언어 코딩도장 52.6 : 인적 정보 삭제하기개인 공부/C언어 공부 2020. 8. 26. 01:41
문제 : 다음 소스 코드를 완성하여 아무 정보도 출력되지 않게 만드세요(함수 안의 인수만 채우면 됩니다). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #define _CRT_SECURE_NO_WARNINGS #include #include struct Person { char name[20]; int age; char address[100]; }; int main() { struct Person p1; strcpy(p1.name, "홍길동"); p1.age = 30; strcpy(p1.address, "서울시 용산구 한남동"); memset(&p1, 0, sizeof(struct Person)); printf("이름: %s\..
-
C언어 코딩도장 : 51.7 패킷 크기 조절하기개인 공부/C언어 공부 2020. 8. 21. 23:22
문제 : 다음 소스 코드를 완성하여 3이 출력되게 만드세요. 구조체 멤버의 이름은 마음대로 지어도 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include struct Packet { char a; char b; char c; }; int main() { struct Packet pkt; printf("%d\n", sizeof(pkt)); return 0; } Colored by Color Scripter cs 구조체 정렬 크기를 조절하지 않는 경우 - char형 변수 3개 선언 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #pragma pack(push, 1) struct Packet { char a; short b; ..
-
C언어 코딩도장 : 51.6 암호화 헤더 크기 구하기개인 공부/C언어 공부 2020. 8. 21. 23:17
문제 : 다음 소스 코드를 완성하여 12가 출력되게 만드세요. 구조체 멤버의 이름은 마음대로 지어도 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include struct EncryptionHeader { char flags; int a; int b; }; int main() { struct EncryptionHeader header; printf("%d\n", sizeof(header)); return 0; } Colored by Color Scripter cs int형 이외에도 다양한 자료형을 활용할 수도 있다.
-
C언어 코딩도장 50.3 : 두 점 사이의 거리 구하기개인 공부/C언어 공부 2020. 8. 21. 18:16
문제 : 표준 입력으로 정수 4개가 입력되어 Point2D 구조체에 저장됩니다. 다음 소스 코드를 완성하여 두 점 사이의 거리가 출력되게 만드세요. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #define _CRT_SECURE_NO_WARNINGS #include #include struct Point2D { int x; int y; }; int main() { struct Point2D p1; struct Point2D p2; double distance; scanf("%d %d %d %d", &p1.x, &p1.y, &p2.x, &p2.y); int x = p1.x - p2.x; int y = p1.y - p2.y; dista..