이문제중 소스확인좀 해주세요..
장미
질문 제목 : 이문제중 소스확인좀 해주세요..현재 풀고 있는 문제입니다.. 이상하게 60점 이하 평균나온사람 인원수가 이상하게 나오네요..
문제) 주민번호, 국어, 영어, 수학점수 입력받아라.
1. 주민번호가 0-00이면 입력 종료
2. 점수가 0보다 적거나 100보다 크면 다시 입력
3. 과목당 평균, 전체 1등 각 점수 출력하라
4. 남학생 인원수, 여학생 인원수 각각 출력하라
5. 평균이 60점 이하 학생수 출력하라 질문 내용 :
#includestdio.h
#define man 1
#define woman 2
void main()
{
int jumin1, jumin2, jumin3;
int man_su=0, woman_su=0;
int kor, eng, math;
int hak_su = 0;
int kor_max = -100, eng_max = -100, math_max = -100, max = -100;
int kor_top, eng_top, math_top;
int kor_hap=0, eng_hap=0, math_hap=0;
int hap;
int avg ,midal = 0; while(1){
printf(%d.주민등록 입력 ( 0-00 입력시 종료) : , hak_su+1);
scanf(%d%*c%1d%d, &jumin1, &jumin2, &jumin3);
if(jumin1 == 0){
printf(입력 종료 ....\n);
break;
} if(jumin1 999999){
printf(입력오류... 다시 입력...\n);
continue;
}
if(jumin2 2){
printf(입력오류.... 다시 입력....\n);
continue;
}
if(jumin3 999999){
printf(입력오류..... 다시 입력.....\n);
continue;
}
printf(국어 점수를 입력 해주세요 : );
scanf(%d, &kor); if(kor 0 || kor 100){
printf(입력 오류...처음부터 다시 입력해주세요! \n);
continue;
}
printf(영어 점수를 입력 해주세요 : );
scanf(%d, &eng);
if(eng 0 || eng 100){
printf(입력 오류...처음부터 다시 입력해주세요! \n);
continue;
}
printf(수학 점수를 입력 해주세요 : );
scanf(%d, &math); if(math 0 || math 100){
printf(입력 오류...처음부터 다시 입력해주세요! \n);
continue;
}
hap = kor + eng + math; if(hap max){
 sp;max = hap;
kor_top = kor;
eng_top = eng;
math_top = math;
} if(kor kor_max)
kor_max = kor; if(eng eng_max)
eng_max = eng; if(math math_max)
math_max = math; kor_hap += kor;
eng_hap += eng;
math_hap += math; hak_su ++; avg = hap / hak_su;
if(avg 60)
midal ++;
switch(jumin2){
case man:
man_su++;
break;
case woman:
woman_su++;
break;
}
}
printf(국어 전체 평균 : %.2lf \n, (double)kor_hap / (double)hak_su);
printf(영어 전체 평균 : %.2lf \n, (double)eng_hap / (double)hak_su);
printf(수학 전체 평균 : %.2lf \n, (double)math_hap / (double)hak_su);
printf(여자 : %d 명, 남자 : %d 명\n, woman_su, man_su);
printf(1등 국어 : %d, 영어 : %d, 수학 : %d\n, kor_top, eng_top, math_top);
printf(평균 60점 미만 학생수 : %d \n, midal);
}