이것저것
정올 - 구조체 본문
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&sca=10g0
JUNGOL
www.jungol.co.kr
자가진단1
#include <stdio.h>
struct info {
char name[20];
char school[20];
int grade;
};
int main(void) {
struct info info;
scanf("%s %s %d", info.name, info.school, &info.grade);
printf("Name: %s\n", info.name);
printf("School: %s\n", info.school);
printf("Grade: %d", info.grade);
}
자가진단2
#include <stdio.h>
struct info {
char school[20];
int grade;
};
int main(void) {
struct info student1 = { "Jejuelementary", 6 };
struct info student2;
scanf("%s %d", student2.school, &student2.grade);
printf("%d grade in %s School\n", student1.grade, student1.school);
printf("%d grade in %s School\n", student2.grade, student2.school);
return 0;
}
자가진단3
#include <stdio.h>
typedef struct info {
char name[20];
int K;
int E;
}Student;
int main(void) {
Student s1;
Student s2;
scanf("%s %d %d", s1.name, &s1.K, &s1.E);
scanf("%s %d %d", s2.name, &s2.K, &s2.E);
printf("%s %d %d\n", s1.name, s1.K, s1.E);
printf("%s %d %d\n", s2.name, s2.K, s2.E);
printf("avg %d %d", (s1.K + s2.K) / 2, (s1.E + s2.E) / 2);
}
자가진단4
#include <stdio.h>
typedef struct point {
float x, y;
}P;
int main(void) {
P p1, p2, p3;
scanf("%f %f %f %f %f %f", &p1.x, &p1.y, &p2.x, &p2.y, &p3.x, &p3.y);
printf("(%0.1f, %0.1f)", (p1.x + p2.x + p3.x) / 3, (p1.y + p2.y + p3.y) / 3);
}
자가진단5
#include <stdio.h>
typedef struct students {
char name[20];
int h;
}S;
int main(void) {
int r = 0;
S arr[5];
for (int i = 0; i < 5; i++)
scanf("%s %d", arr[i].name, &arr[i].h);
int min = arr[0].h;
for (int i = 1; i < 5; i++) {
if (min > arr[i].h) {
min = arr[i].h;
r = i;
}
}
printf("%s %d", arr[r].name, arr[r].h);
}
자가진단6
#include <stdio.h>
#include <string.h>
typedef struct Person {
char name[20];
int h;
float w;
}P;
int main(void) {
struct Person temp;
P arr[5];
for (int i = 0; i < 5; i++)
scanf("%s %d %f", arr[i].name, &arr[i].h, &arr[i].w);
for (int i = 0; i < 5; i++) {
for (int j = i; j < 5; j++) {
if (strcmp(arr[i].name, arr[j].name) > 0) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 결과
printf("name\n");
for (int i = 0; i < 5; i++)
printf("%s %d %.1f\n", arr[i].name, arr[i].h, arr[i].w);
for (int i = 0; i < 5; i++) {
for (int j = i; j < 5; j++) {
if (arr[i].w < arr[j].w) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
printf("weight\n");
for (int i = 0; i < 5; i++)
printf("%s %d %.1f\n", arr[i].name, arr[i].h, arr[i].w);
}
형성평가1
#include <stdio.h>
struct info {
char name[100];
char phone[100];
char locate[100];
};
int main(void) {
struct info info;
scanf("%s %s %s", info.name, info.phone, info.locate);
printf("name: %s\n", info.name);
printf("tel: %s\n", info.phone);
printf("addr: %s\n", info.locate);
}
형성평가2
#include <stdio.h>
#include <string.h>
typedef struct info {
char name[15], tel[15], addr[15];
}Info;
int main(void) {
Info arr[3];
struct info temp;
int r = 0;
for (int i = 0; i < 3; i++)
scanf("%s %s %s", arr[i].name, arr[i].tel, arr[i].addr);
for (int i = 0; i < 3; i++) {
for (int j = i; j < 3; j++) {
if (strcmp(arr[i].name, arr[j].name) > 0) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
r = i;
}
}
}
printf("name: %s\n", arr[r].name);
printf("tel: %s\n", arr[r].tel);
printf("addr: %s\n", arr[r].addr);
}
형성평가3
#include <stdio.h>
typedef struct Point {
int x1, x2, y1, y2;
}P;
int main(void) {
P p1, p2, temp;
scanf("%d %d %d %d", &p1.x1, &p1.y1, &p1.x2, &p1.y2);
scanf("%d %d %d %d", &p2.x1, &p2.y1, &p2.x2, &p2.y2);
temp.x1 = p1.x1 < p2.x1 ? p1.x1 : p2.x1;
temp.y1 = p1.y1 < p2.y1 ? p1.y1 : p2.y1;
temp.x2 = p1.x2 > p2.x2 ? p1.x2 : p2.x2;
temp.y2 = p1.y2 > p2.y2 ? p1.y2 : p2.y2;
printf("%d %d %d %d", temp.x1, temp.y1, temp.x2, temp.y2);
return 0;
}
형성평가4
#include <stdio.h>
typedef struct info {
int h;
float w;
}Info;
int main(void) {
Info m, f;
scanf("%d %f", &f.h, &f.w);
scanf("%d %f", &m.h, &m.w);
printf("height: %d\nweight: %.1fkg\n", (f.h + m.h) / 2 + 5, (f.w + m.w) / 2 - 4.5);
return 0;
}
형성평가5
#include <stdio.h>
typedef struct Students {
char name[20];
int a,b,c;
int sum;
}student;
int main(void) {
student s[10];
struct Students temp;
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s %d %d %d", s[i].name, &s[i].a, &s[i].b, &s[i].c);
s[i].sum = s[i].a + s[i].b + s[i].c;
}
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
if (s[i].sum < s[j].sum) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
for (int i = 0; i < n; i++)
printf("%s %d %d %d %d\n", s[i].name, s[i].a, s[i].b, s[i].c, s[i].sum);
return 0;
}