※以下のソースコードはコピー防止の対応をしています.
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: }