반응형
1. 학생의 학번과 국어,영어,수학 점수를 저장할 수 있는 구조체를 만들고, 각 학생의 평균 점수를 출력하는 함수를 작성하라.
#include <stdio.h> struct score { int id; int korean; int eneglish; int math; }; double avr(score* sp); int main() { score student[5]; for (int i = 0; i < 5; i++) { printf("%d번째 학생의 학번을 입력하세요 :", i + 1); scanf_s("%d", &(student[i].id)); printf("%d번째 학생의 국어 점수를 입력하세요 : ", i+1); scanf_s("%d", &(student[i].korean)); printf("%d번째 학생의 영어 점수를 입력하세요 : ", i+1); scanf_s("%d", &(student[i].eneglish)); printf("%d번째 학생의 수학 점수를 입력하세요 : ", i+1); scanf_s("%d", &(student[i].math)); printf("\n"); } for (int i = 0; i < 5; i++) { printf("%d번째 학생의 평균은 %g 입니다. \n", i + 1, avr(&student[i])); } } double avr(score* sp) { double avr = (sp->eneglish + sp->korean + sp->math) / 3.0; return avr; }
2. 입력된 시간을 12시간제와 24시간제로 출력하는 프로그램을 구조체를 이용하여 작성하라.
#include <stdio.h> struct time { int time_12; int time_24; int minute; }; int main() { double t; time clock; printf("시간을 입력하세요 : "); scanf_s("%lf", &t); clock.time_12 = (int)t % 12; clock.time_24 = (int)t % 24; clock.minute = (int)((t - (int)t) * 60); printf("입력하신 시간은 \n"); printf("12시간짜리 시계로는 '%2d시 %2d분'이고 \n",clock.time_12, clock.minute); printf("24시간짜리 시계로는 '%2d시 %2d분'입니다. \n",clock.time_24, clock.minute); }
3. 가족의 이름과 나이 및 성별을 출력하는 프로그램을 구조체를 이용하여 작성하라.
#include <stdio.h> struct member { char name[10]; char sex[5]; int age; }; int main() { member* fm; int num; printf("가족수를 입력하세요 : "); scanf_s("%d", &num); fm = (member*)malloc(sizeof(member)*num); for (int i = 0; i < num; i++) { printf("%d번째 사람의 이름을 입력하세요 : ", i + 1); scanf_s("%s", fm[i].name, 10); printf("%d번째 사람의 성별을 입력하세요 : ", i + 1); scanf_s("%s", fm[i].sex, 5); printf("%d번째 사람의 나이를 입력하세요 : ", i + 1); scanf_s("%d", &(fm[i].age)); printf("\n"); } for (int i = 0; i < num; i++) { printf("%d번째 사람의 이름은 %s 입니다. \n", i + 1, fm[i].name); printf("%d번째 사람의 성별은 %s 입니다. \n", i + 1, fm[i].sex); printf("%d번째 사람의 나이는 %d 입니다. \n", i + 1, fm[i].age); } free(fm); }
4. 다음의 프로그램을 컴파일한 후 실행결과를 확인하고 프로그램을 분석하라.
#include <stdio.h> struct ex1 { char char1; int integer1; float float1; }; int main() { ex1 x1; x1.char1 = '1'; x1.integer1 = 2; x1.float1 = 3; printf("test... x1.char1 -> %c \n", x1.char1); printf("test... x1.integer1 -> %d \n", x1.integer1); printf("test... x1.float1 -> %f \n", x1.float1); }
5. 10명의 이름과 전화번호를 저장하는 구조체 배열을 만들어 값을 저장한 후, 이름으로 검색하면 전화번호를 출력하는 프로그램을 작성하라.
#include <stdio.h> #include <string.h> struct TD { char name[10]; char phone_number[15]; }; int main() { const int N = 10; TD tds[N]; for (int i = 0; i < N; i++) { printf("%2d번째 사람의 이름을 입력하세요 : ", i+1); scanf_s("%s", tds[i].name, 10); printf("%2d번째 사람의 전화번호를 입력하세요 :", i+1); scanf_s("%s", tds[i].phone_number, 15); printf("\n"); } char name[10]; printf("검색할 이름을 입력하세요 : "); scanf_s("%s", name, 10); for (int i = 0; i < N; i++) { if (!(strncmp(tds[i].name, name, 10))) { printf("이름 : %s \t 전화번호: %s \n", tds[i].name, tds[i].phone_number); } } }
반응형