<div>전에 제가 성적표 2차원배열로 짠 코드는 국영수 합을 n으로 나눠서 이상하게 나온걸 깨달았는데</div> <div>1차원배열로 짠코드를 보니 여기도 n으로 나누고있더군요</div> <div>#include <stdio.h> <br>void Swap(int n,int *num, int *sum, double *avg); <br>int main() <br>{ <br> int i, j,num[100], temp,temp1; <br> int n; <br> double temp2; <br> int kor[100],eng[100],mat[100]; <br> double kors=0, engs=0, mats=0; <br> double avgk=0,avgm=0,avge=0; <br> int sum[100]; <br> double avg[100]; <br> printf("┌─────────────┐\n"); <br> printf("│성적 처리 프로그램입니다. │\n"); <br> printf("└─────────────┘\n"); <br> printf("성적 처리할 학생들이 몇명입니까? "); <br> scanf("%d",&n); <br> for(i=0;i<n;i++) <br> { <br> printf("%d번째 학생의 학번을 입력하고 Enter를 누르세요=",i+1); <br> scanf("%d",&num[i]); <br> printf("국어점수를 입력하고 Enter를 누르세요="); <br> scanf("%d",&kor[i]); <br> printf("영어점수를 입력하고 Enter를 누르세요="); <br> scanf("%d",&eng[i]); <br> printf("수학점수를 입력하고 Enter를 누르세요="); <br> scanf("%d",&mat[i]); <br> sum[i]=kor[i]+eng[i]+mat[i]; <br> avg[i]=(double)sum[i]/n; <br> kors+=kor[i]; <br> engs+=eng[i]; <br> mats+=mat[i]; <br> } <br> Swap(n,num, sum, avg); <br> avgk=(double)kors/n; <br> avgm=(double)mats/n; <br> avge=(double)engs/n; <br> printf("┌─────────────────┐\n"); <br> printf("│등수순으로 성적처리한 결과입니다. │\n"); <br> printf("└─────────────────┘\n"); <br> for(i=0;i<n;i++) <br> printf("%d %d %g\n",num[i],sum[i],avg[i]); <br> printf("국어 평균: %g\n",avgk); <br> printf("영어 평균: %g\n",avge); <br> printf("수학 평균: %g\n",avgm); <br> return 0; <br>} <br>void Swap(int n,int *num, int *sum, double *avg) <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(sum[i] < sum[j]) <br> { <br> temp=num[i]; <br> num[i]=num[j]; <br> num[j]=temp; <br> temp1=sum[i]; <br> sum[i]=sum[j]; <br> sum[j]=temp1; <br> temp2=avg[i]; <br> avg[i]=avg[j]; <br> avg[j]=temp2; <br> } <br> } <br> } <br>} </div> <div> </div> <div>avg[i]=(double)sum[i]/n; <br>지금 이부분이 이렇게 되어있는데도 책에서 점수 똑같이입력해봐도 똑같이나오네요.. 왜 제대로 돌아가는건가요</div> <div>그래서 3명이아닌 5명도 입력받아봤는데도 정상적으로나오는데 왜 정상적으로나오죠..?</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.