728x90

소스코드 160

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언어 함수 주요예제 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(..

C언어 배열 주요예제2

4. 3x3행렬 2개를 입력받아 두 행렬의 합을 출력하는 프로그램 #include void print_matrix(int Mat[3][3]); void read_matrix(int Mat[3][3]); int main(void) { int mat1[3][3], mat2[3][3], sum[3][3]; printf("첫번째 행렬을 입력하세요 : \n"); read_matrix(mat1); printf("입력하신 행렬은 \n"); print_matrix(mat1); printf("\n 입니다. \n"); printf("두번째 행렬을 입력하세요 : \n"); read_matrix(mat2); printf("입력하신 행렬은 \n"); print_matrix(mat2); printf("\n 입니다. \n"); f..

반응형