문제: https://www.acmicpc.net/problem/5597
해설:
1. stu라는 크기가 31인 배열을 선언. 이 배열은 학생의 출석번호를 저장함. 배열의 인덱스는 출석번호를 나타내며, 해당 인덱스에는 출석번호가 저장됨.
2. 28명의 학생이 특별과제를 제출했으므로, 28번 반복하는 루프를 실행. 각 반복에서 사용자로부터 학생의 출석번호를 입력받고, stu 배열에 해당 출석번호를 저장.
3. 모든 학생의 출석번호를 확인하며, 제출하지 않은 학생의 출석번호를 출력. 이를 위해 1부터 30까지의 모든 출석번호를 확인하고, stu 배열에서 해당 출석번호의 값이 0인 경우에만 출력.
코드:
#include <stdio.h>
int main()
{
int stu[31] = {0}; // 각 학생의 출석번호를 저장할 배열, 인덱스는 출석번호, 초기값은 0으로 설정
int hi; // 학생의 출석번호를 임시로 저장할 변수
// 28명의 학생이 특별과제를 제출한 출석번호를 입력받고, 배열에 해당 출석번호를 표시
for(int i=0; i < 28; i++){
scanf("%d", &hi); // 학생의 출석번호를 입력받음
stu[hi] = hi; // 해당 출석번호를 stu 배열에 저장
}
// 모든 학생의 출석번호를 확인하며, 특별과제를 제출하지 않은 학생의 출석번호를 출력
for (int i = 1; i < 31; i++) {
if (stu[i] == 0) printf("%d\n", i); // stu 배열에서 값이 0인 출석번호를 출력
}
return 0;
}
'Study > Programming' 카테고리의 다른 글
BOJ 10872번 : 팩토리얼 / C언어 (0) | 2024.03.28 |
---|---|
BOJ 11718번 : 그대로 출력하기 / C언어 (0) | 2024.03.28 |
BOJ 2738번 : 행렬 덧셈 / C언어 (0) | 2024.03.28 |
BOJ 11727번 : 2xn 타일링 2 / C언어 (0) | 2024.03.28 |
BOJ 11726번 : 2xn 타일링 / C언어 (0) | 2024.03.28 |