※以下のソースコードはコピー防止の対応をしています.
01:  //乗数が負の場合も対応
02:  #include <stdio.h>
03:  
04:  float pow(float x, int y);
05:  
06:  int main(void)
07:  {
08:     float x, z;
09:     int y;
10:  
11:     printf("Input x:");
12:     scanf("%f", &x);
13:     printf("Input y:");
14:     scanf("%d", &y);
15:     z = pow(x, y);
16:     printf("%f^%d = %f", x, y, z);
17:  
18:     return 0;
19:  }
20:  
21:  float pow(float x, int y)
22:  {
23:     int i;
24:     float ans = 1;
25:     if(y >= 0 || x == 0){
26:        for(i = 0;i < y;i++)
27:        {
28:           ans *= x;
29:        }
30:     } else {
31:        y *= -1;
32:        for(i = 0;i < y;i++)
33:        {
34:           ans /= x;
35:        }
36:     }
37:     return ans;
38:  }
解答例一覧にもどる / トップページにもどる