결과물
코드
복사코드
#include <stdio.h>
double power1(double x, int n) //순환
{
if (n == 0)
return 1;
else if ((n % 2) == 0)
return power1(x*x, n / 2);
else
return x * power1(x*x, (n - 1) / 2);
}
double power2(double x, int n) //반복
{
int i;
double result = 1.0;
for (i = 0; i < n; i++)
result = result * x;
return (result);
}
void main()
{
while (1)
{
int menu;
printf("\n\n메뉴 1)순환 거듭제곱 2)반복 거듭제곱 3) 종료 : ");
scanf("%d", &menu);
if (menu == 3)
{
printf("프로그램 종료\n");
break;
}
switch (menu)
{
case 1:
double dnum1;
int num1;
printf("순환 거듭제곱\n");
printf("밑 : ");
scanf("%lf", &dnum1);
printf("지수 : ");
scanf("%d", &num1);
printf("순환 -> %.1f ** %d : %.1f\n",dnum1,num1,power1(dnum1,num1));
break;
case 2:
double dnum2;
int num2;
printf("반복 거듭제곱\n");
printf("밑 : ");
scanf("%lf", &dnum2);
printf("지수 : ");
scanf("%d", &num2);
printf("반복 -> %.1f ** %d : %.1f\n", dnum2, num2, power2(dnum2, num2));
break;
default:
printf("잘못된 선택 다시 선택하시오.");
}
}
}
'C > C 개발' 카테고리의 다른 글
C언어 하노이의 탑 코드 (0) | 2021.12.25 |
---|---|
C언어 피보나치 순환, 반복 코드 (0) | 2021.12.23 |
C언어 팩토리얼 순환, 반복 코드 (0) | 2021.12.20 |
C언어 게임 아이템 강화 코드 (0) | 2021.12.17 |
C언어 Up & Down 게임 코드 (0) | 2021.12.16 |