c언어 이름 성적 입력 받아 이름순 정렬해서 출력
요구사항
여기에 추가로 학생 여러명 점수 넣어서
알파벳 순서로 배열해서 평균 점수 구할수 있을까요?
몇명 학생하라고 정확히 말해주지 않아서.. 3명정도 해도 될거같은데
@ 소스
#include <stdio.h> #include <string.h> main() { char name[3][10]; char tname[10]; int i,j; int scores[3][3]; int tscores;
for(i=0;i<3;i++){// 이름 및 점수 입력 printf("이름 : "); scanf("%s",name[i]);
printf("점수 입력 : 예) 10 20 30\n"); scanf("%d %d %d", &scores[i][0],&scores[i][1],&scores[i][2]); }
for(i=0;i<3;i++)//이름순으로 정렬하기 { for(j=i;j<3;j++) { if(strcmp(name[i],name[j]) > 0 ) { strcpy(tname,name[j]); strcpy(name[j],name[i]); strcpy(name[i],tname);
tscores=scores[j][0]; scores[j][0]=scores[i][0]; scores[i][0]=tscores;
tscores=scores[j][1]; scores[j][1]=scores[i][1]; scores[i][1]=tscores;
tscores=scores[j][2]; scores[j][2]=scores[i][2]; scores[i][2]=tscores; } }
}
printf("\n이름 1 2 3 평균--------------\n"); printf("----------------------------------\n"); for(i=0;i<3;i++) { printf("%s %d %d %d %lf\n", name[i],scores[i][0],scores[i][1],scores[i][2],((double)scores[i][0]+scores[i][1]+scores[i][2])/3); }
} |
사과 체리 바나나 순서로 입력 하였는데 바나나와 체리가 자리가 바뀌어 출력되는 모습입니다.
점수도 같이 순서가 바뀌었죠
이해가 쉽도록 사과는 10점대 점수만
바나나는 20점대 점수만
체리는 30점대 점수만 해놓았습니다^^;