- Today
- Total
목록윤성우 (8)
SA_BLOG
도전! 프로그래밍2-1문제) 1. 길이가 10인 배열을 선언하고, 총 10개의 정수를 입력받아서, 홀수와 짝수를 구분지어 출력하는 프로그램을 작성하라. 2. 홀수가 먼저 출력되도록 하자. (단, 배열 내에 존재하는 홀수만 출력하는 함수와 배열 내에 존재하는 짝수만 출력하는 함수를 정의해서 두 함수를 호출는 방식으로 작성하라.) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 #include void NumH(int * ptr); void NumJ(int * ptr); int main(void) { int num[10] = { 0 }; int i = 0; for ( i = 0; i
예제문제에서 '사용자로 부터 입력을 받아...' 라는 문구가 있으면 scanf 를 이용하여 입력을 받았다. 그런데 지금은 scanf를 이용하여 코드를 작성하면 scanf_s 를 사용하라고 하면서 컴파일이 되지 않고 경고 메세지를 보여준다. scanf를 scanf_s로 고쳐서 컴파일 하면 경고 메새지를 보여주지 않고 정상적으로 컴파일을 해준다. 하지만 막상 실행결과를 보면 원치 않는 실행결과가 나올 때가 있다. 이 경우는 배열을 이용한 문제를 풀때 발생하는데 기존 scanf 에서는 'scanf("서식문자",변수)' 이런씩으로 사용 했다면 scanf_s 에서는 'scanf_s("서식문자",변수,크기)' 이런씩으로 작성해줘야 한다. 예를 들면 '윤성우의 C 프로그래밍' 이라는 교재에 보면 이런 예제문제가 있다..
C언어는 비주얼베이직 처럼 ^를 이용하여 제곱을 나타낼 수 없어서 비주얼베이직을 먼저 배운 저는 좀 당황했습니다. 문제) 2의 n승을 구하는 함수를 재귀적으로 구현하고, main함수도 적절하게 구현하라. 1234567891011121314151617181920 #include int GetNum(int n); int main(void) { int num; printf("2의 몇승을 계산할까요 : "); scanf_s("%d", &num); printf_s("2의 %d승 : %d\n\n", num, GetNum(num)); } int GetNum(int n) { static int num=1,iCount=n; if (iCount == 0) return num; num *= 2; iCount--; retur..
이번 문제는 자바 시간에 예제문제로 배운거라 쉽게 풀었습니다. 문제) 사용자로 부터 '초'를 입력받아 시,분,초로 나타내시오. 1234567891011121314151617181920#include void GetTime(int sec); int main(void) { int sec; printf("초 입력 : "); scanf_s("%d",&sec); GetTime(sec); return 0; } void GetTime(int sec) { static int H, M, S; H = sec / 3600; M = sec / 60 % 60; sec = sec % 60 % 60; printf("%d시, %d분, %d초\n\n", H, M,sec); }CodeHighlighter
교수님이 예제문제로 내주셨던 것과 비슷한데 방학했다고 놀다보니 기억이 안나서 억지로 결과가 나오게 만들었습니다.. 문제를 보면 10개의 소수를 출력하라고 해서 배열로 10개 까지만 나오도록 했내요.. (억지로,,ㅠㅠ) '에라토스테네스의 체'를 이용하여 코드를 작성했습니다. 문제) 10개의 소수를 출력하는 프로그램을 작성하시오. 12345678910111213141516171819202122232425262728293031323334353637383940 //에라토스테네스의 체 참고. #include int main(void) { int i, num[30] = { 1 }; //숫자들을 배열에 담음. for (i = 1; i