임의의 학생을 입력받아 성적, 최고,최저학생을 나타내는 코드 수정좀 부탁드려요 ㅠㅠ
다옴
질문 제목 : 임의의 학생을 입력받아 성적, 최고,최저학생을 나타내는 코드 수정코드는 맞는거 같기도 한데(디버깅시 오류는 없습니다), 실행해보면 이상한 문자가 나타나네요 ㅠㅠ질문 내용 :
#includestdio.h
#includemalloc.h
#includestring.h
int main(void)
{
int students, s, engsum=0, korsum=0, mathsum=0, max=0, min=0;
int *engscore=null;
int *korscore=null;
int *mathscore=null;
char *name=null;
printf(성적을 처리할 학생 수를 입력하세요:);
scanf(%d,&students);
engscore=(int*)malloc(sizeof(int)*students);
korscore=(int*)malloc(sizeof(int)*students);
mathscore=(int*)malloc(sizeof(int)*students);
name=(char*)malloc(sizeof(int)*students);
printf(학생의 이름과 성적을 입력하세요\n);
for(s=0 ; sstudents ; s++)
{
printf(%d번 이름: (영어 국어 수학):,s+1);
scanf(%c %d %d %d,&name[s],&engscore[s],&korscore[s],&mathscore[s]);
}
printf(-----------------------\n);
for(s=0 ; sstudents ; s++)
{
engsum += engscore[s];
korsum += korscore[s];
mathsum += mathscore[s];
printf(%d번 이름:%c 영어:%d 국어:%d 수학:%d\n,s+1,name[s],engscore[s],korscore[s],mathscore[s]);
}
for(s=0 ; sstudents ; s++)
{
if(max engscore[s]+korscore[s]+mathscore[s])
max=engscore[s]+korscore[s]+mathscore[s];
printf(최고점학생은 %c 총점은 %3d 평균은 %3.2d\n,name[s],max,max/students);
if(min engscore[s]+korscore[s]+mathscore[s])
min=engscore[s]+korscore[s]+mathscore[s];
printf(최저점학생은 %c 총점은 %3d 평균은 %3.2d\n,name[s],min,min/students);
}
printf(-----------------------\n);
printf(영어총점:%3d점\n,engsum);
printf(영어평균:%3.2점\n,(double)engsum/students);
printf(국어총점:%3d점\n,korsum);
printf(국어평균:%3.2점\n,(double)korsum/students);
printf(수학총점:%3d점\n,mathsum);
printf(수학평균:%3.2점\n,(double)mathsum/students);
free(engscore);
free(korscore);
free(mathscore);
free(name);
return 0;
}어디어디를 뜯어 고쳐야 올바르게 나올까요 ㅠㅠ