#include <stdio.h>
struct StudentInfo
{
int kor;
int math;
int eng;
};
void PrintStudent(struct StudentInfo *data, int inte);
int main()
{
int i;
struct StudentInfo student[5] = {
{90, 75, 87},
{85, 80 ,79},
{97, 95, 70},
{73,65,96},
{88,89,69}
};
printf("학번 국어 영어 수학 총점 평균\n");
for(i=0;i<5;i++)
{
PrintStudent(&student[i], i+1);
}
return 0;
}
void PrintStudent(struct StudentInfo *data, int inte)
{
printf("%2d %2d %2d %2d %2d %2d\n",inte,data->kor,data->eng,data->math, data->kor+data->eng+data->math, data->kor+data->eng+data->math/3);
}
1번은 돌려보면 아실테고
2번은 int main 위에보면 struct StudentInfo있잖아. 그거 여러개로 저장하라는건데 간단함 struct StudentInfo student[5]로 선언해주었음
3번은 for문 돌려서 i값에 맞춰서 번호순대로 정렬해줌. 그래서 정렬된 출력값을 볼 수 있을거임.
으미 2번답은 뭐고 3번답은 뭐라는거지... 1번은 어찌해야하는지 알았음
1번은 했다치고 2,3번이...
아 멍청해서 미안 ㅜㅜ 진짜 집안사정이 있어서 3주 학교 못나가서 그럼 ㅜㅜㅜㅜ
저걸 돌려보니까 2번이랑 3번이 답이 합쳐져있는 그런 비슷한 경우같네
아 어렵다
2 struct StudentInfo로 구조체 선언함 밑에 변수 정의된 거 보이지? 그거 묶어놓은거라고 보면 되고 struct StudentInfo Student[5]는 StudentInfo라는 형식의 구조체를 5개 선언한다고 보면 돼. 구조체 포인터라고 했는데 구조체 배열이라고 써도 틀린게아닌게, 포인터는 배열과 같은 개념이라고 보고, 다만 차이점이 있다고 한다면, 변수의 크기를 미리 할당하느냐 마느냐에 차이겠지. 2번에서 내가 아는 건 이정도
오 2번.. 좀 이해되는거같아
3. for문은 반복문인데 여기에 변수;조건문;연산문 이런식으로 들어가서 while()과는 다르게 특정 상황에 루프를 편하게 돌릴 수 있음. 여기서 i를 0으로 초기화했잖아? 근데 i<5로 미루어 봐서 i가 5보다 작을때까지 루프를 도는거니 i가 5가 될 때 루프를 빠져나오겠지? 결국 i가 0일때부터 4가 될때까지 출력을 반복하는게 되는데 때마침 구조체도 순서대로 되어있지?(책 참조) 그래서 원래 i값대로 번호매기면 0에서 4까지 나오는데 거기에 +1해줘서 1~5까지 나오게끔 정렬해줌
크엉 크엉 감사하다 저걸 읽으면 가능할듯 계좌번호 알려줘 약소한 성의나마 보이겠음 정말 감사함 ㅜㅜ
100030-56-089935 사랑합니다 고갱님^^
아이피가 다르잖엌ㅋㅋㅋㅋ
아 맞네
기달
은행 무슨은행이야?
은행을 알려줘야 보내지;
안돼 떠나지마 성의는 받고 가야제
농협
뭐 여튼 공부 열심히 하시고 학점 잘 받기를