2つの整数 a, b を引数にとり、a の b 乗を出力したいが、a^b=0.000000となってしまう。
例
Input two integers : 2 10
a^b = 1024.000000
#include <stdio.h> float my_pow( int a, int b ){ if ( a == 0 || b < 1 ) return 0; if ( a == 1 ) return 1; if ( b == 1 ){ return a; }else{ return a * my_pow( a, b - 1 ); } } int main(void) { int a; int b; printf("Input two integers : "); scanf("%d &d", &a, &b ); printf("a^b = %f", my_pow(a, b)); return 0; }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/26 01:08 編集
2021/11/26 01:08