C언어/C언어 1차시-2 8

백준1546 평균 C언어 풀이

먼저 배열 scr을 선언해 준다. 그다음 변수 n에 시험을 본 개수를 입력받고 그만 틈 반복을 돌린다. 그리고 변수 m에 시험 정수 중 가장 높은 점수, 즉 최댓값을 저장한다. 그리고 scr[i]의 해당하는 시험 점수를 모두 세준이의 방식대로 바꾼 뒤, 변수 sum에 바뀐 점수를 더한다. 저 때 m의 형태를 double로 두어 계산해야 소수까지 계산이 된다. 마지막으로 double형 변수 avg에 평균 값을 저장한 뒤 출력한다.

백준10811 바구니 뒤집기 C언어 풀이

이번에도 char로 선언했다. 덕분에 허튼짓을 한 거 같다. 그로 인해 string.h 헤더 파일을 사용하게 된다. 암튼 배열 str과 임시 배열 str1을 선언한다. 바구니 개수 n과 뒤집을 횟수 m을 입력받고 n 만큼 반복을 돌려 바구니의 개수를 1부터 n까지 채운다. 그리고 a와 b를 입력받아 a부터 b까지의 바구니 번호를 뒤집어줄 준비를 한다. 먼저 변수 t를 선언하고 strcpy를 사용하여 임시 변수 str1에 배열 str을 복사한다. 그리고 a부터 b 만큼 반복을 돌려 하나하나씩 임시 변수에서 가져온다. 마지막으로 배열 str의 값을 출력해 준다. **내가 이때 무슨 생각으로 계속 char를 썼는진 모르겠지만 큰 깨달음을 얻고 그 뒤론 int를 쓰게 된다 ^^.

백준3052 나머지 C언어 풀이

또 char이지만...괜찮다. 먼저 배열 a의 길이는 10으로 정한다. 반복문 횟수도 10으로 정한다.. 그리면서 n의 값을 입력 받고 a[i]에 n을 42로 나눈 나머지 값을 저장한다. 다음으로 이중반복문을 사용하여 a[i]가 배열 a안에서 한번 나온적이 있으면 k의 값을 1씩 줄인다. 그리고 break;을 사용하여 반복문을 나온다. 만약 첫 반복문도 끝나면 마지막으로 k를 출력하여 서로 다른 나머지의 개수를 보여준다.

백준10813 공 바꾸기

이번에도 실수로 배열 c를 char 형태로 배열을 입력받았다만, 상관없다. 먼저 변수 n에 바구니의 개수, m에 바꿀 횟수를 입력받는다. 그리고 n 만큼 반복을 돌려 c의 값을 1부터 n까지 채워 넣는다. 반복을 빠져나온 후 다시 m 만큼 반복을 돌린다. 그리고 a와 b를 입력받아 c[a-1]과 c[b-1]의 위치를 바꾼다. 이때 임시 변수에 c[a-1]을 저장해놔야 한다. 만약 저장을 안 해놓고 c[b-1]=c[a-1]로 써버리면 이미 c[a-1]은 c[b-1]이 되어있기 때문에 둘의 값이 같아져 버린다. 결론적으로 c[b-1]=d로 하여 c[a-1]이 c[b-1]로 바꾸기 전의 값을 저장한다. 그리고 마지막으로 c의 값을 출력해 주면 된다.