일반적인 rand() 함수만 쓰면 프로그램이 다시 실행돼도 같은 난수가 출력된다. 진정한 난수가 아닌 셈이다. 그러므로 실행할 때마다 난수가 다르게 발생하게 하기 위해서 난수의 시드를 설정한다. 헤더 파일을 불러와 현재의 시각을 시드로 사용한다. 현재 시각은 실행할 때마다 달라지기 때문이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include #include #define MAX 45 int main(void) { int i; srand((unsigned)time(NULL)); for (i = 0; i
사용자가 정수 12345를 입력하면, 54321순으로 출력하는 프로그램이다. do-while문을 이용하며, 12345에서 100의 자리를 구하는 방법은 12345를 100으로 나눈 후 (12345 / 100 = 123) 다시 10으로 나눈 나머지를 구하는 것이다. ( 123 % 10 = 3) 1000의 자리는 1000으로 나눈 후 10으로 나눈 나머지를 구한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include int main(void) { int num; printf("정수를 입력하세요 : "); scanf_s("%d", &num); // 정수를 입력받아 num에 저장 do { printf("%d", num % 10); num = num / 10; } while (n..
피보나치 수열은 앞과 뒤의 수를 더한 값으로 나열된다. 0, 1, 1, 2, 3과 같은 경우이다. 3번째 항 = 1번째 항 + 2번째 항, 4번째 항 = 2번째 항 + 3번째 항의 값이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include int main(void) { int a = 0, b = 1, c; // a는 f0, b는 f1, c는 다음 항 결과 int i = 1, n; // i는 반복 변수 printf("몇 번째 항까지 구할까요? : "); scanf_s(" %2d", &n); for (i = 1; i a b c -> a b c 위 표와 같이 항들과 변수가 이동하며 값이 변해야 하므로, c = a + b이고, a = b이고, b = c가..
for문이나 while문에서는 반복을 멈추고 외부로 빠져나가는 방법을 break; 문으로 선언할 수 있다. 하지만 중첩 반복문에선 break;을 한 번 쓰면 반복문의 한 영역만 빠져나간다. 이에 반해, goto문을 활용 하면 중첩 반복문에서 원하는 곳으로 바로 빠져나갈 수 있다. goto문은 원래는 이용하는 것을 거의 금하다시피 권장하지 않는데, 이럴 때는 꽤나 유용하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include #include int main(void) { int x, y; for (y = 1; y
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요