목록 (199) 썸네일형 리스트형 C언어 연습문제20 [문제] int형 변수 num1과 num2를 선언과 동시에 각각 10과 20으로 초기화하고, int형 포인터 변수 ptr1과 ptr2를 선언하여 각각 num1과 num2를 가리키게 하자. 그리고 이 상태에서 포인터 변수 ptr1과 ptr2를 이용해서 num1의 값을 10 증가시키고, num2의 값을 10 감소시키자. 이제 두 포인터 변수 ptr1과 ptr2가 가리키는 대상을 서로 바꾸자. 즉, 포인터 변수 ptr1이 num2를 가리키게 하고, 포인터 변수 ptr2가 num1을 가리키게 하자. 그리고 마지막으로 ptr1과 ptr2가 가리키는 변수에 저장된 값을 출력하자. [출력결과] 10 20 [코드] #include int main(void) { int num1 = 10, num2 = 20; int* p.. C언어 연습문제19 [문제] 프로그램 사용자로부터 하나의 영단어를 입력 받아서 입력 받은 영단어의 길이를 계산하여 출력하는 프로그램을 작성해보자. [실행결과] 영단어 입력: apple 단어의 길이: 5 [코드] #include int main(void) { char voca[100]; int len = 0; printf("영단어 입력: "); scanf_s("%s", voca, 100); while (voca[len] != 0) len++; printf("단어의 길이: %d", len); return 0; } 윤성우의 열혈 C 프로그래밍 C언어 연습문제18 [문제] 두 개의 정수를 입력 받아서 최대 공약수(GCD)를 구하는 프로그램을 작성해보자 [실행결과] 두 개의 정수 입력: 6 9 최대 공약수: 3 [코드] #include int GCD(int n1, int n2); int main(void) { int num1, num2; printf("두 개의 정수 입력: "); scanf_s("%d %d", &num1, &num2); printf("최대 공약수: %d", GCD(num1, num2)); return 0; } int GCD(int n1, int n2) { int result; result = n1; while (n1 % result != 0 || n2 % result != 0) result--; return result; } 윤성우의 열혈 C 프로그래밍 C언어 연습문제17 [문제] n 값을 입력 받아 n! 구하는 프로그램 작성 조건) Factorial 함수를 정의하고 재귀함수로 사용할 것 [실행결과] 구하고자 하는 n! 입력: 6 6! = 720 [코드] #include int Factorial(int num); int main(void) { int num; printf("구하고자 하는 n! 입력: "); scanf_s("%d", &num); printf("%d! = %d", num, Factorial(num)); return 0; } int Factorial(int num) { if (num == 0) return 1; else return num* Factorial(num - 1); } 윤성우의 열혈 C 프로그래밍 C언어 연습문제16 [문제] 프로그램 사용자가 입력하는 값을 누적하여 그 합계를 출력하라. 조건 1) 값을 누적하는 함수 AddToTotal()을 정의할 것 조건 2) static 변수를 사용할 것 조건 3) 0을 입력하면 프로그램이 종료되도록 할 것 [실행결과] 더하고 싶은 정수를 입력하세요(0번 입력시 종료) 입력1: 1 지금까지의 합계: 1 입력2: 3 지금까지의 합계: 4 입력3: 5 지금까지의 합계: 9 입력4: 11 지금까지의 합계: 20 입력5: 0 [코드] #include int AddToTotal(int num); int main(void) { int num; int i = 1; printf("더하고 싶은 정수를 입력하세요(0번 입력시 종료)\n"); while (1) { printf("입력%d: ", i+.. C언어 연습문제15 [문제] 다음 식을 만족하는 모든 A와 Z를 구하는 프로그램을 작성해보자 A Z + Z A -------- 9 9 A와 Z는 서로 다른 값이어야 하며, 이를 continue를 사용하여 코딩할 것 [실행결과] 18 + 81 = 99 27 + 72 = 99 36 + 63 = 99 45 + 54 = 99 54 + 45 = 99 63 + 36 = 99 72 + 27 = 99 81 + 18 = 99 [코드] #include int main(void) { int A, Z, result; for (A = 1; A < 10; A++) { for (Z = 1; Z < 10; Z++) { if (A == Z) continue; result = (A * 10 + Z) + (Z * 10 + A); if (result == 9.. C언어 연습문제14 [문제] 프로그램 사용자로부터 총 5개의 정수를 입력 받아서, 그 수의 합을 출력하는 프로그램을 작성해보자. 단! 한가지 조건이 있다. 정수는 반드시 1이상이어야 한다. 만약에 1미만의 수가 입력되는 경우에는, 이를 입력으로 인정하지 않고 재 입력을 요구해야 한다. 그래서 결국 1이상의 정수 5개 모두 입력 받을 수 있도록 프로그램을 완성해야 한다. 그리고 프로그램은 while문의 중첩만을 사용해야 한다. 조건) break는 사용하지 말 것 [실행결과] 1 이상 정수 입력(1번째): 1 1 이상 정수 입력(2번째): 0 1 이상 정수 입력(2번째): 1 1 이상 정수 입력(3번째): -5 1 이상 정수 입력(3번째): 3 1 이상 정수 입력(4번째): 7 1 이상 정수 입력(5번째): 15 합계: 27 .. C언어 연습문제13 [문제] 길이가 7인 int형 배열을 선언해서 프로그램 사용자로부터 7개의 정수를 입력 받도록 하자. 그리고 입력 받은 정수를 내림차순으로 정렬하기 위한 함수 DesSort를 정의하고 호출하자. 마지막으로 제대로 정렬이 되었는지 확인하기 위해서 배열의 요소들을 순서대로 출력해보자. [실행결과] 입력: 1 입력: 2 입력: 3 입력: 4 입력: 5 입력: 6 입력: 7 7 6 5 4 3 2 1 [코드] #include void DesSort(int arr[], int len); int main(void) { int i; int arr[7]; for (i = 0; i < 7; i++) { printf("입력: "); scanf_s("%d", &arr[i]); } DesSort(arr, sizeof(arr) .. 이전 1 ··· 18 19 20 21 22 23 24 25 다음