c언어 4차시 과제
10871-팩토리얼(BOJ)
팩토리얼은 그 수보다 작거나 같은 모든 양의 정수의 곱이다.
정수형 변수 n, (1부터 n까지 늘어나는 수) i , (팩토리얼) result를 선언했다.
result의 초깃값을 1로 정해놓았는데 그 이유는 result와 i를 곱해야 하는데 result가 0이면 결과가 0이 나오기 때문이다. 정수 n을 입력받은 다음 for문으로 i의 초깃값을 1로 놓고 n이 될 때까지 1씩 증가시킬 때마다 result에 1씩 증가한 i의 값을 곱한 것을 result에 다시 넣어준다. for문이 끝나면 최종적으로 곱해진 result를 출력한 뒤 프로그램이 종료된다.
1065-한수
변수 n을 입력받고 한수를 구하는 함수 f()가 호출되는데 이때 입력받은 n의 값이 함수로 보내진다.
만약 n이 100 미만이면 , 전부 한수가 되니까 n을 그대로 출력한 뒤 프로그램이 종료되고 n이 100 이상이면, 100부터 n까지의 수 중에 각 자리 수가 등차수열을 이루는 한수를 for문을 이용해서 찾고 그 개수가 세진다. for문이 끝나면 찾은 한수의 총개수가 출력되고 다시 main함수로 돌아와서 프로그램이 종료된다.
14467-소가 길을 걸어간 이유 1
이 문제는 풀지 못해서 선배님의 도움을 받았다.
배열의 최대 크기까지 소의 위치가 -1로 초기화된다.
(소의 번호) a, (소의 위치) b를 입력받은 뒤 만약 한 번도 움직이지 않은 소면
그 소가 지금 건너고 있는 방향으로 위치를 변경하고,
움직이고 있었던 소면 if문으로 그 소가 길을 건넜는지 안 건넜는지 확인해 주고
만약 건넜다면 건넌 횟수를 카운트하고 건너서 바뀐 위치를 갱신한다.
그리고 최종적으로 카운트된 건넌 횟수를 출력한다.
21966-(중략)
변수 (문자열의 길이) n, (n글자로 이루어진 문자열) s를 선언하고 둘을 입력받는다.
그런 다음 문자열의 총길이가 25자 이하이면 문자열을 그대로 출력하고 프로그램을 종료한다.
길이가 25자가 넘는다면 for문으로 11번째 이상부터 마침표가 있는지 확인해서 문장이 한 문장인지 확인한다.
문장이 한 문장이 아닐 때 for문으로 11번째 글자까지 출력하고 중간을 생략한 뒤 "..."를 출력하고, 끝에서부터 11번째 글자까지 출력하고 프로그램을 종료한다.
한 문장일 때는 9번째 글자까지 출력해주고 중간을 "...... "로 생략한 뒤, 끝에서부터 10번째 글자까지 출력하고 프로그램을 종료한다.
19941-햄버거 분배
변수 (테이블 길이) table, (팔 길이(?))k를 입력받고, 사람 또는 햄버거를 배열로 입력받는다. 만약 사람이 있으면 팔 길이만큼 앞에서부터(i-k) 팔 길이만큼 뒤까지(i+k) 햄버거가 있는지 확인하고 있다면 햄버거를 0으로 바꾸고 카운트한다(햄버거를 먹음)
이것을 테이블 길이가 끝날 때까지 반복하고 최종적으로 카운트된 수를 출력한다.