(초보) C언어 도와주세요ㅠㅠ
조회수 425회
문제는 성적표 출력이란 제목이고
첫째 줄에 데이터의 개수 n (3<=n<=100)과 출력인원 m (1<=m<=n)이 공백으로 구분되어 입력된다.
둘째 줄부터 학생 이름과 점수(0 100)가 공백으로 구분되어 입력된다.
단 이름의 길이는 최대 10바이트 이내이다.
출력 : 상위 m명의 학생명단을 출력한다.
인데요
제가 짠 코드는
#include <stdio.h>
#include <string.h>
struct student {
char name[100];
int score[100];
};
int main() {
int n, m = 0;
int tmp, tmp1 = 0;
struct student s[100];
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
scanf("%s %d", &s[i].name, &s[i].score);
}
for (int i = 0; i < n; i++) {
if (s[i].score > s[i + 1].score) {
tmp = s[i].score;
s[i].score = s[i + 1].score;
s[i + 1].score = tmp;
strcpy(tmp1, s[i].name);
strcpy(s[i].name, s[i + 1].name);
strcpy(s[i + 1].name, tmp1);
}
}
for (int i = 0; i < m; i++) {
printf("%s\n", s[i].name);
}
}
이거 인데 실행을 돌려보면 아무것도 안뜨고 그냥 꺼지네요...ㅠㅠ 어디가 문제인지 모르겠어요ㅠㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력