<div>#include <stdio.h> <br>void print(); <br>void print1();<br>void input(int n); <br>void subject(int n); <br>void resultprint(int n);<br>void Swap(int n);<br>int num[100][100];<br>double avg[100];<br>double avg1[100]; <br>int main() <br>{ <br> int n; <br> print(); <br> printf("성적 처리할 학생들이 몇명입니까? "); <br> scanf("%d",&n); <br> input(n); <br> Swap(n); <br> print1(); <br> resultprint(n);<br> subject(n); <br> return 0; <br>} <br>void print() <br>{ <br> printf("┌─────────────┐\n");<br> printf("│성적 처리 프로그램입니다. │\n");<br> printf("└─────────────┘\n");<br>} <br>void input(int n) <br>{ <br> int i, j = 0;<br> int sum; <br> for (i = 0; i < n; i++) <br> { <br> printf("%d번째 학생의 학번을 입력하고 Enter를 누르세요=", i + 1); <br> scanf("%d", &num[i][0]); <br> printf("국어점수를 입력하고 Enter를 누르세요="); <br> scanf("%d", &num[i][1]); <br> printf("영어점수를 입력하고 Enter를 누르세요="); <br> scanf("%d", &num[i][2]); <br> printf("수학점수를 입력하고 Enter를 누르세요=");<br> scanf("%d", &num[i][3]); <br> sum = 0; <br> for (j = 1; j < 4; j++) <br> { <br> sum += num[i][j]; <br> } <br> avg1[i]=sum/3.0; <br> num[i][4]=sum; <br> }<br>}<br>void subject(int n)<br>{ <br> int i,j; <br> int kors=0, engs=0,mats=0; <br> for(i=0; i<n; i++) <br> { <br> kors+=num[i][1]; <br> engs+=num[i][2]; <br> mats+=num[i][3]; <br> avg[0]=kors/3.0; <br> avg[1]=engs/3.0; <br> avg[2]=mats/3.0; <br> }<br> printf("국어평균: %g\n영어평균:%g\n수학평균:%g\n",avg[0],avg[1],avg[2]);<br>}<br>void print1()<br>{<br> printf("┌─────────────────┐\n"); <br> printf("│등수순으로 성적처리한 결과입니다. │\n"); <br> printf("└─────────────────┘\n"); <br>}<br>void resultprint(int n)<br>{<br> int i; <br> printf("학번\t총점\t평균\n");<br> for(i=0; i<n; i++) <br> printf("%4d %4d %4g\n", num[i][0],num[i][4],avg1[i]);<br>}<br>void Swap(int n)<br>{ <br> int i,j;<br> int temp,temp1; <br> double temp2; <br> for(i=0; i<n-1;i++)<br> { <br> for(j=i+1; j<n; j++)<br> {<br> if(num[i][4] < num[j][4]) <br> { <br> temp=num[i][0]; <br> num[i][0]=num[j][0]; <br> num[j][0]=temp; <br> temp1=num[i][4]; <br> num[i][4]=num[j][4]; <br> num[j][4]=temp1; <br> temp2=avg1[i]; <br> avg1[i]=avg[j]; <br> avg1[j]=temp2; <br> } <br> } <br> } <br>}</div> <div>코드가좀길어서 죄송합니다만.. 1차원으로짤때는 정렬이 잘됬는데 </div> <div>이렇게 2차원으로바꿧더니 정렬부분이 되긴되는데 3명을 입력받앗으면 첫번째두번째 평균이 0으로 찍히고 세번째는 제대로 나오더군요.. </div> <div>어디가 문제인가요..</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.