728x90

c언어 125

c언어 함수 주요예제 3. (유클리드 호제법)

유클리드 호제법을 이용하여 최대공약수를 구하는 함수. #include int gcd(int a, int b); int main(void) { int i, k; printf("최대 공약수를 구할 수를 입력받습니다. \n"); printf("첫번째 수를 입력하세요 : "); scanf_s("%d", &i); printf("두번째 수를 입력하세요 : "); scanf_s("%d", &k); printf("%d와 %d의 최대공약수는 %d입니다.", i, k, gcd(i, k)); } //유클리드 호제법을 이용해서 최대공약수를 계산하는 함수 int gcd(int a, int b) { int abs_a = (a > 0) ? a : -a; int abs_b = (b > 0) ? b : -b; //gcd(0,0) = ..

C언어 이론 7. 함수 (변수의 범위)

내용 출처 : YES C (정보공학연구소 /생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) 기억 부류 (Storage Class)명칭 기억지정자 선언위치 해제시기 기억장소 통용범위 자동 초기화 지역 변수(또는 자동 변수) 없음(또는 auto) 블럭 내부 블럭 종료시 스택 선언된 블럭 내 되지 않음 전역 변수 없음 모든 블럭 외부 프로그램 종료시 정적 영역 프로그램 전체 0으로 초기화 정적 변수 static 함수 내부 프로그램 종료시 정적 영역 함수 내부 0으로 초기화 함수 외부 선언된 모듈 내에서만 사용가능한 전역변수화. 외부 모듈에서 extern 지정자로 참조할 수 없다. 외부 변수extern 모든 블럭 외부 모듈 외부에서 선언된 전역변수를 참조하고자 할 때 extern 지정자를 사용..

C언어 함수 주요예제 2

전달된 수들 중 가장 큰 수를 반환하는 함수. #include int max(int arr[], int n); int main() { const int N = 10; int num_arr[N]; printf("배열에 수를 저장합니다. \n"); for (int i = 0; i < N; i++) { printf("%d번째 수를 입력하세요 : ", i + 1); scanf_s("%d", &num_arr[i]); } printf("입력하신 값중 가장 큰 값은 %d 입니다. ", max(num_arr, N)); } int max(int arr[], int n) { int mx = arr[0]; for (int i = 1; i < n; i++) { if (mx < arr[i]) { mx = arr[i]; } } ..

C언어 실습문제 풀이 CH7 (1,2)

1. 난수 발생함수를 이용하여 만든 주사위 눈을 알아맞히는 게임을 작성하라. #include #include #include int main(void) { srand((unsigned)time(NULL)); int dice_value, dot; int input; int ch; while (1) { dice_value = rand(); printf("\n"); printf("1. 시작 \n"); printf("2. 종료 \n"); scanf_s("%d", &ch); switch (ch) { case 1: printf("\n"); printf("주사위 눈수를 입력해주세요 : "); scanf_s("%d", &dot); do { printf("\n"); printf("주사위 눈 수를 맞춰보세요. 포기하시려면..

C언어 함수 주요예제 1

표준함수 time(), srand(), rand()를 사용하여 난수를 만드는 프로그램. #include #include // time()함수 사용 #include //rand(), srand()함수 사용 int main(void) { //난수 생성기를 초기화한다. //인수로 time(NULL)값을 주면 매 실행마다 다른 난수가 나온다. //srand는 unsigned int형을 인자로 받고, time() 함수는 time_t 값을 리턴하므로 경고를 피하기 위해서 형변환을 해줬다. //안해줘도 잘 작동하지만 사소한 경고가 뜬다. srand((unsigned)time(NULL)); for (int i = 0; i < 5; i++) { printf("난수 발생 결과 %d : %d \n", i + 1, rand(..

C언어 연습문제풀이 CH6 (21. 달팽이 배열 문제)

21. 다음과 같이 배열에 저장하는 프로그램을 작성하라. #include int main(void) { //변수 선언부 const int R = 7, C = 7; int ssarray[R][C] = { 0, }; //전부 0으로 초기화 int row = 0, column = 0; int row_Uend = 1, row_Dend = R - 1, column_Lend = 0, column_Rend = C - 1; char direction = 'R'; //배열 초기화 for (int n = 1; n < (R * C) + 1; n++) { switch (direction) { case 'R' : ssarray[row][column] = n; if (column == column_Rend) { column_Re..

C언어 연습문제 풀이 CH6 (18~20)

문제 출처 : YES C (정보공학연구소/생능출판사) 18. 황금비를 구하는 프로그램을 배열을 이용해 작성하라. 값이 약 1.61803이 되려면 언제까지 계산하면 될까? #include #include //ceil, round, floor함수 사용 int main(void) { //변수 선언부 const int index = 50; int fibonacci[index] = { 1,1, }; float goldenratio; //피보나치 수열 초기화 for (int i = 2; i < index; i++) { fibonacci[i] = fibonacci[i - 2] + fibonacci[i - 1]; } //피보나치 수열 출력, int형으로 저장할 경우 46번째 수에서 오버플로우가 일어난다. for (in..

C언어 연습문제 풀이 CH6 (13~17)

문제 출처 : YES C (정보공학연구소/생능출판사) 13. 문자열을 배열 a[10]에 입력받아 이를 배열 b[10]에 복사하여 아래와 같이 출력하는 프로그램을 작성하라.input string (a) : Koreanouput string : a = Korean, b = Korean #include #include int main(void) { char a[10], b[10]; printf("input string(a) : "); scanf_s("%s", a, sizeof(a)); strcpy_s(b,a); printf("output string : a = %s , b = %s \n", a, b); } 14. 문자열을 배열 a[10]와 b[10]에 입력받아 이를 교환하여 출력하는 프로그램을 작성하라. #i..

C언어 연습문제 풀이 CH6 (7,11,12)

문제 출처 : YES C (정보공학연구소/생능출판사) 1~10번까지는 7번을 제외하면 너무 단순한 문제라 생략... 7. 문자기반배열 stuff에 문자열 "Welcome"을 할당하라. (단, 선언시가 아님) #include #include int main(void) { char stuff[10]; strcpy_s(stuff,"Welcome"); printf("%s", stuff); }//별건 아니고 이제는 strcpy가 아닌 strcpy_s를 써야한다는 정도 11. for루프를 이용하여 5개의 문자를 scanf를 사용해서 받아 문자기반배열 words에 저장하는 프로그램을 작성하라. int main(void) { char words[5]; for (int i = 0; i < 5; i++) { printf(..

반응형