Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- eslint 쉼표필요 오류
- PERPECT
- 점프 투 파이썬 #패키지 # 비전공자
- 원 면적
- putchar()
- 합
- 티스토리 커버이미지 변경
- c
- 백엔드 개발자 #로드맵
- () (+) 차이
- 오류
- 3판
- 풀이
- perpect C
- 3강
- +연산자 의미
- 정답
- perpectC
- eslint
- JavaScript
- 비트마스크
- 실습예제
- Chapter3
- 쉼표필요
- 3장
- 원 둘레
- ㅔㄴ트 안잉
- 평균
- 연습문제
- getchar()
Archives
- Today
- Total
옥수수와 식빵 그리고 코딩
13장 연습문제 - 구조체와 공용체 본문
01.
02. 분수를 구조체로 선언하여 값을 입력받고 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct fraction
{
int numerator;
int denominator;
} Fraction;
void getnum(Fraction* num);
void returnnum(Fraction* num);
int main(void)
{
Fraction num1, num2;
getnum(&num1);
getnum(&num2);
returnnum(&num1);
returnnum(&num2);
return 0;
}
void getnum(Fraction *num)
{
scanf("%d %d", &num->numerator, &num->denominator);
}
void returnnum(Fraction* num)
{
printf("%d/%d\n", num->numerator, num->denominator);
}
03. 2번의 구조체에서 두 분수의 곱을 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct fraction
{
int numerator;
int denominator;
} Fraction;
void getnum(Fraction* num);
void resultnum(Fraction* num1, Fraction* num2);
int main(void)
{
Fraction num1, num2;
getnum(&num1);
getnum(&num2);
resultnum(&num1, &num2);
return 0;
}
void getnum(Fraction *num)
{
scanf("%d %d", &num->numerator, &num->denominator);
}
void resultnum(Fraction* num1, Fraction*num2)
{
printf("%d/%d\n", num1->numerator, num1->denominator);
printf("%d/%d\n", num2->numerator, num2->denominator);
double div1, div2, mult;
div1 = (double)(num1->numerator) / (num1->denominator);
div2 = (double)(num2->numerator) / (num2->denominator);
mult = div1 * div2;
printf("mult = %lf", mult);
}
04. 3개의 멤버를 갖는 구조체, 구조체 멤버 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct home_address
{
int st_num;
char street[30];
char city[30];
}Address;
void Printad(Address* add);
int main(void)
{
Address add1 = { 233, "선릉로", "서울시" };
Address add2 = { .city = "서울시",.st_num = 567,.street = "경인로" };
Printad(&add1);
Printad(&add2);
return 0;
}
void Printad(Address* add)
{
printf("%s %s %d\n", add->city, add->street, add->st_num);
}
05. 구조체를 정의하고 사람 3명을 선언후 값을 입력하고 출력
배열로 입력받고 출력했으면 더 좋을 거 같은데 이미 완성한 후였다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct person
{
char address[20];
char name[20];
char phonenum[20];
}Person;
void getperson(Person* p);
void Printperson(Person* p);
int main(void)
{
Person one;
Person two;
Person three;
getperson(&one);
getperson(&two);
getperson(&three);
printf(" 주소 이름 전화번호\n");
Printperson(&one);
Printperson(&two);
Printperson(&three);
}
void getperson(Person* p)
{
gets(p->address);
gets(p->name);
gets(p->phonenum);
}
void Printperson(Person* p)
{
printf("%s %6s %20s\n", p->address, p->name, p->phonenum);
}
그래서 만들었다! 배열로 구조체 입력받고 배열로 출력하기!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct person
{
char address[20];
char name[20];
char phonenum[20];
}Person;
void getperson(Person* p);
void Printperson(Person* p);
int main(void)
{
Person one[3];
for (int i = 0; i < 3; i++)
{
getperson(&one[i]);
}
printf(" 주소 이름 전화번호\n");
for (int i = 0; i < 3; i++)
{
Printperson(&one[i]);
}
return 0;
}
void getperson(Person* p)
{
gets(p->address);
gets(p->name);
gets(p->phonenum);
}
void Printperson(Person* p)
{
printf("%s %6s %20s\n", p->address, p->name, p->phonenum);
}
결과는 같음 굿
06.나머지는 너무 같은 문제들이라 패스
07.
08.
Comments