c언어 구조체와 동적할당에 관련된 질문입니다. 채택완료
지금 구현한 형태에서 동적할당을 이용하면서 구조체를 이용해 학생 이름, 학번, 점수 이 세가지 값을 입력받아서 처리하고 싶은데 어디서부터 손을 대야할지 방법을 잘 모르겠습니다.
</strong></p>
<p><strong>#include <stdio.h>
#include <stdlib.h></strong></p>
<p><strong>struct info {
char name[12];
int number;
int score;
};
typedef struct info info;</strong></p>
<p><strong>void main()
{
int n, i, sum = 0, * p;
double avg;</strong></p>
<p><strong> printf("학생 수를 입력하시오 : ");
scanf_s("%d", &n);</strong></p>
<p><strong> p = (int*)malloc(n * sizeof(struct info));
printf("학생 수 만큼의 이름과 학번과 점수를 입력하시오 : ");
for (i = 0; i < n; i++) {
scanf_s("%d", p + i); //&p[i]
sum += p[i]; //*(p+i)
}
avg = (double)sum / n;
int max = p[0];
for (i = 1; i < n; i++) {
if (p[i] > max) max = p[i];
}
free(p);
printf("평균: %.2lf 최고점: %d \n", avg, max);
}</strong></p>
<p><strong>
답변 1개
p = (info*)malloc(n * sizeof(struct info));
printf("학생 수 만큼의 이름과 학번과 점수를 입력하시오 : ");
for (i = 0; i < n; i++) {
scanf_s("%s", &p[i].name); //&p[i]
scanf_s("%d", &p[i].number); //&p[i]
scanf_s("%d", &p[i].score); //&p[i]
sum += p[i].score;
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인