C언어 제곱 표현 - ceon-eo jegob pyohyeon

스폰서 링크

C에는 숫자를 제곱하는 기호나 연산자는 없고, 대신 math.h 의 pow() 함수로, 제곱을 할 수 있습니다.

pow(밑, 지수)

의 형식으로 사용합니다. 예를 들어, 3의 제곱을 구하려면 pow(3.0, 2.0) 이라고 합니다. 함수의 입출력이 모두, 실수형인 double형입니다. 따라서 정수의 제곱을 구하려면, 정수를 실수로 변환하여 제곱을 구한 후 그 결과를 다시 정수로 변환해 주어야 합니다. 아래 예제와 같습니다.

C에서, 숫자 제곱 함수 사용 방법

소스 파일명: example.cpp

#include <stdio.h>
#include <math.h>

int main(void) {

  ////////////////////////////////////////////////
  // 3의 제곱 (3의 2승) 구하기
  printf("%.0f\n", pow(3.0, 2.0));
  // 출력 결과: 9

  ////////////////////////////////////////////////
  // 5의 세제곱 (5의 3승) 구하기
  double result;
  double i = 5.0;
  double j = 3.0;

  result = pow(i, j);
  printf("%.0f 의 %.0f 승 = %.0f\n", i, j, result);
  // 출력 결과: 5 의 3 승 = 125

  ////////////////////////////////////////////////
  // 3의 네제곱 (3의 4승) 구하기
  // 입출력을 실수형과 정수형으로 변환하여 사용
  int result2;
  int i2 = 3;
  int j2 = 4;

  result2 = (int) pow((double)i2, (double)j2);
  printf("%d 의 %d 승 = %d\n", i2, j2, result2);
  // 출력 결과: 3 의 4 승 = 81

  return 0;
}

▶▶ C언어] C에서 제곱근, 루트 근사값 계산 방법, sqrt() 함수 사용법

더 읽기:

C언어 | C/C++ (Visual C++) 프로그래밍

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.

블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면

C언어 제곱 표현 - ceon-eo jegob pyohyeon
주소를 리더기에 등록하시면 됩니다.

C언어 제곱 표현 - ceon-eo jegob pyohyeon

C언어 제곱 구하기

c언어 제곱을 구하는 방식 1 : math.h에서 지원하는 pow를 이용

C언어 제곱 표현 - ceon-eo jegob pyohyeon

x

 - 제곱할 숫자

y

 - 지수

pow(2, 4) = 2의 4승 = 16

소스코드

#include <stdio.h>

#include <math.h>

int main(void)

{

    float x;

    float y;

    float result;

    printf("제곱할 숫자를 입력하세요 : ");

    scanf("%f"&x);

    printf("몇제곱(지수)을 하시겠습니까? : ");

    scanf("%f"&y);

    result = powf(x, y);

    printf("%.2f의 %.2f제곱 = %.2f\n", x, y, result);

}

 

C언어 제곱 표현 - ceon-eo jegob pyohyeon
실행 결과

scanf를 사용하여 변수 x, y에 각각 값을 할당 한 후

result 변수에 powf(x, y)를 대입하여 제곱한 값을 할당

마지막 출력에는 x, y, result를 보여 주었습니다.

c언어 제곱을 구하는 방식 2 : 반복문을 사용

소스코드

#include <stdio.h>

int main(void)

{

    float x;

    float y;

    int count;

    float result = 1;

    printf("제곱할 숫자를 입력하세요 : ");

    scanf("%f"&x);

    printf("몇제곱(지수)을 하시겠습니까? : ");

    scanf("%f"&y);

    //for반복문 으로 제곱을 구함

    for(count = 0; count < (int)y; count++)

    {

        result = result * x;

    }

    printf("%.2f의 %.2f제곱 = %.2f\n", x, y, result);

}

 

C언어 제곱 표현 - ceon-eo jegob pyohyeon
실행 결과

제곱이라는 것은 결국 해당 숫자를 여러번 반복하여 곱하는 것입니다.

2의 2제곱 = 2 * 2

9의 5제곱 = 9 * 9 * 9 * 9 * 9

결국 처음 곱하려는 숫자 : x

제곱하려는 숫자 : y

를 알면 반복문을 통해 금방 구현할 수 있습니다.

result에 1을 준것은 어떠한 숫자를 곱해도 곱해지는 숫자가 되는 값이 1이기 때문이고

반복문에서 y앞에 (int)를 붙인것은 형변환을 한것입니다.(붙이지 않아도 동작에는 이상이 없음) 

c언어 제곱을 구하는 방식 3 : 반복문을 함수화하여 사용

소스코드

#include <stdio.h>

float my_pow(float A, float B)

{

    int count;

    float f_result = 1;

    for(count = 0; count < (int)B; count++)

    {

        f_result = f_result * A;

    }

    return f_result;

}

int main(void)

{

    float x;

    float y;

    float result;

    printf("제곱할 숫자를 입력하세요 : ");

    scanf("%f"&x);

    printf("몇제곱(지수)을 하시겠습니까? : ");

    scanf("%f"&y);

    result = my_pow(x, y);

    printf("%.2f의 %.2f제곱 = %.2f\n", x, y, result);

}

 

C언어 제곱 표현 - ceon-eo jegob pyohyeon
실행 결과

2번 반복문을 사용 c언어 제곱을 구하는 방식과 동일하지만

해당 기능을 함수로 만든 후, 필요할 때 호출하여 그 값을 가져와서 표출해준 것입니다.