728x90 반응형 개발자54 [C언어 코딩 도장 심사문제 답] 52.7_인적 정보 복제하기 1. 답 #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->address, "서울시 서초구 반포동"); memcpy(&p2, p1, sizeof(struct Person)); printf("이름: %s\n", p2.name); printf("나이: %d\n", p2.age); printf("주소: %s\n",.. 2022. 7. 8. [C언어 코딩 도장 심사문제 답] 52.6_인적 정보 삭제하기 1. 답 #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\n", p1.name); printf("나이: %d\n", p1.age); printf("주소: %s\n", p1.address); return 0; } 2. 결과 3. 정리 memset함수를 이용해서 p1 구조체에 0으로.. 2022. 7. 8. [C언어 코딩 도장 심사문제 답] 51.7_패킷 크기 조절하기 1. 답 #include #pragma pack(push, 1) struct Packet { char a; short b; }; #pragma pack(pop) int main() { struct Packet pkt; printf("%d\n", sizeof(pkt)); return 0; } 2. 결과 3. 정리 3을 출력하는 방식이 이것 이외에도 단순하게 char 타입의 구조체 맴버를 3개 생성해도 되기는 하지만, 이번 학습의 취지와 맞지 않다고 생각했습니다. 그래서 char 타입과 short 타입으로 맴버를 생성하고 pragma pack을 이용해서 패킷 크기를 조정하여 작성합니다. 통신에서 자료를 보낼때 등 패킷사이즈로 문제가 많을 수 있다고 하므로 유의하면서 작성할 필요가 있다고 생각이듭니다. 4. .. 2022. 7. 8. [C언어 코딩 도장 심사문제 답] 50.3_두 점 사이의 거리 구하기 1. 답 #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); //정답 시작 distance = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2)); //정답 끝 printf("%f\n", distance); return 0; } 2. 결과 3. 정리 pow함수를 이용해서 거듭제곱을 진행하고 squrt 함수를 이용해서 루트를 사용했습니다. 꼭 pow함수를 이용하지 않고.. 2022. 7. 7. 이전 1 ··· 9 10 11 12 13 14 다음 728x90 반응형