KU COSE101 2018기말고사 5번 문제

1 minute read

             
2016 기출 1번 2번 3번 4번 5번  
2017 기출 1번 2번 3번 4번 5번  
2018 기출 1번 2번 3번 4번 5번 6번

문제 설명이 부족하여 설명을 보강하였습니다.

고려대와 연세대의 정기 고연전은 매년 다섯 종목을 다룬다. 1993년의 경우 2승 3패로 연세대가 승리했지만, 이듬해 1994년에는 3승 1무 1패로 고려대가 승리하였다. 그리고 1995년 또한 3승 1무 1패로 고려대가 승리하였다. 1993년에서 1995년의 기간을 고려하면 한 해는 고려대의 패, 다른 두 해는 고려대의 승으로 고려대가 우위에 있다.

이러한 성적은 아래와 같이 result.txt 파일에 기록되어 있다.

1993 2 0 3
1994 3 1 1
1995 3 1 1
-1

파일의 마지막에 있는 -1은 파일의 끝을 알려준다. 따라서 데이터가 없을 경우, 파일에는 -1만 존재한다. 이 파일은 모든 기록을 동일한 형식으로 기록하며 형식의 오류는 없다고 가정한다. 이 파일을 읽어 고려대가 총 몇 회 우승하였는지, 비겼는지, 패했는지 다음과 같이 알려주도록 다음 프로그램을 작성하시오.

Total win: 2
Total draw: 0
Total loss: 1
#include<stdio.h>

int main() {

}

예시풀이
#include<stdio.h>

int main()
{
	FILE *fp = fopen("result.txt","r");
	
	int win=0, draw=0, loss=0;
	while(1){
		int year;
		fscanf(fp,"%d",&year);
		if(year==-1) break;
		int a,b,c;
		fscanf(fp,"%d %d %d",&a,&b,&c);
		if(a>c) win++;
		else if(a==c) draw++;
		else loss++;
	}
	printf("Total win: %d\n", win);
	printf("Total draw: %d\n", draw);
	printf("Total loss: %d\n", loss);
	
	fclose(fp);
}

Comments