게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] c언어 오류좀 봐주세요
게시물ID : programmer_10734짧은주소 복사하기
작성자 : 수원오징어
추천 : 0
조회수 : 341회
댓글수 : 4개
등록시간 : 2015/06/02 21:44:56
옵션
  • 본인삭제금지
#include <stdio.h>
int main(void)
{
 int  i, j,num[100], temp,temp1,temp2;
 int n;
 int kor[100],eng[100],mat[100];
 int sum[100];
 double avg[100];
 printf("성적 처리 프로그램입니다. \n");
 printf("성적 처리할 학생들이 몇명입니까? ");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
  printf("%d번째 학생의 학번을 입력하고 Enter를 누르세요=",i+1); 
        scanf("%d",&num[i]);
  printf("국어점수를 입력하고 Enter를 누르세요=");
  scanf("%d",&kor[i]);
  printf("영어점수를 입력하고 Enter를 누르세요=");
  scanf("%d",&eng[i]);
  printf("수학점수를 입력하고 Enter를 누르세요=");
  scanf("%d",&mat[i]);
  sum[i]=kor[i]+eng[i]+mat[i];
  avg[i]=sum[i]/n;
 }
printf("등수순으로 성적처리한 결과입니다.\n");
 for(i=0; i<n-1;i++)
 {
  for(j=i+1;j<n;j++)
  {
   if(sum[i] < sum[j])
   {  
    temp=num[i];
    num[i]=num[j];
    num[j]=temp;
    temp1=sum[i];
    sum[i]=sum[j];
    sum[j]=temp;
    temp2=avg[i];
    avg[i]=avg[j];
    avg[j]=temp;
   }
  }
 }
 for(i=0;i<n;i++)
 {
  printf("%d %d %g\n",num[i],sum[i],avg[i]);
 }
 return 0;
}
돌려보면 3명 입력받았을때 첫번째점수를 1,2,3 두번째를 2,3,4, 세번째를 3,4,5 입력받고 돌려보면
두번째 세번째 등수인애가 총점이랑 평균이 이상하게나오고
 
공부하는 책에 나와있는대로 첫번째 45,66,76 두번째 79,98,88 세번째 82,80,81 입력받으면
첫번째 두번째는 제대로 나오는데 세번째는 1 1 1 이라고 나옵니다 위에 실험도 세번째등수가 111나오고요
뭐가문제인건가요?
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호