본문 바로가기

C 언어/연습문제

(46)
C언어 연습문제6 [문제] 변수 num에 저장된 값의 제곱을 계산하는 함수를 정의하고, 이를 호출하는 main 함수를 작성해보자. 단, 여기서는 다음 두 가지 형태로 함수를 정의해야 한다. - Call-by-value 기반의 SquareByValue 함수 - Call-by-reference 기반의 SquareByReference 함수 SquareByValue 함수는 인자로 전달된 값의 제곱을 반환해야 하며, SquareByReference 함수는 정수가 저장되어 있는 변수의 주소 값을 인자로 받아서 해당 변수에 저장된 값의 제곱을 그 변수에 다시 저장해야 한다. [실행결과] 정수 입력: 5 입력한 정수의 제곱: 25 입력한 정수의 제곱: 25 [코드] #include int SquareByValue(int n); void..
C언어 연습문제5 [문제] 프로그램 사용자로부터 두 점의 x, y 좌표를 입력 받아서, 두 점이 이루는 직사각형의 넓이를 계산하여 출력하는 프로그램을 작성해보자. 단, 좌 하단의 x, y 좌표 값이 우 상단의 x, y좌표 값보다 작아야 한다. 좌 하단의 좌표정보를 먼저 입력 받는 형태로 우 상단의 값이 잘못들어오는 경우 [실행결과] 좌 하단의 x, y 좌표: 2 4 우 상단의 x, y 좌표: 1 6 좌 하단의 x좌표가 우 상단의 x좌표보다 큽니다. 우 상단의 x, y 좌표: 4 2 좌 하단의 y좌표가 우 상단의 y좌표보다 큽니다. 우 상단의 x, y 좌표: 1 2 좌 하단의 x, y좌표가 우 상단의 x, y좌표보다 큽니다. 우 상단의 x, y 좌표: 4 8 두 점이 이루는 직사각형의 넓이는 8입니다. [코드1] #incl..
C언어 연습문제4 [문제] 사용자로부터 영단어를 입력 받아서 char형 배열에 저장한다. 그 다음 배열에 저장된 영단어를 역순으로 뒤집는다. 그리고 역순으로 뒤집은 단어를 출력한다. 조건1) 배열을 하나만 사용할 것 [실행결과] 단어 입력: banana ananab [코드] #include int main(void) { char voca[100]; char temp; int i, len = 0; printf("단어 입력: "); scanf_s("%s", voca, 100); while (voca[len] != '\0') len++; for (i = 0; i < len / 2; i++) { temp = voca[i]; voca[i] = voca[(len - i) - 1]; voca[(len - i) - 1] = temp; ..
C언어 연습문제3 [문제] 길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 총 5개의 정수를 입력 받자! 그리고 입력이 끝나면 다음의 내용을 출력하도록 하자. - 입력된 정수 중에서 최대값 - 입력된 정수 중에서 최소값 - 입력된 정수의 총 합 단, 반드시 입력을 완료한 상태에서 최대값, 최소값, 총 합을 계산해야 한다. [실행결과] 1번째 정수 입력: 1 2번째 정수 입력: 5 3번째 정수 입력: 3 4번째 정수 입력: 7 5번째 정수 입력: 9 최대값: 9 최소값: 1 총 합: 25 [코드1] #include int main(void) { int str[5]; int Max, Min, Sum, i; for (i = 0; i < 5; i++) { printf("%d번째 정수 입력: ", i + 1); scan..
C언어 연습문제2 [문제] 10개의 소수(Prime Number)를 출력하는 프로그램을 작성해 보자. 참고로 정수 num이 1과 num으로 밖에 나눠지지 않는다면 이는 소수에 해당한다. 조건1) 소수를 판단하는 함수 IsPrime()을 만들 것 [실행결과] 2 3 5 7 11 13 17 19 23 29 [코드1] #include int IsPrime(int n); int main(void) { int i=2, cnt=0; while(cnt!=10) { if(IsPrime(i)==1) { printf("%d ", i); cnt++; } i++; } return 0; } int IsPrime(int n) // 소수면 true(1) 리턴 { int divisors=0, i; for(i=1; i
C언어 연습문제1 [문제] 현재 나에게는 3,500원이 있다(소유하고 있는 금액은 입력 받는다). 슈퍼에 들려서 크림빵(500원), 새우깡(700원), 콜라(400원)를 사려한다. 잔돈을 하나도 남기지 않고 이 세가지 물건을 하나 이상 반드시 구매하려면 어떻게 구매를 진행해야 하겠는가? [실행결과] 현재 당신이 소유하고 있는 금액 : 3500 크림빵 1개, 새우깡 2개, 콜라 4개 크림빵 2개, 새우깡 3개, 콜라 1개 크림빵 4개, 새우깡 1개, 콜라 2개 어떻게 구입하시겠습니까? [코드] #include const int BREAD=500; const int SNACK=700; const int COKE=400; int main(void) { int i, j, k; int money; printf("현재 당신이 소유하..