私の課題の1つでは、x^2、x^4、xの立方根(xは0〜100)の値を取得するはずです。これまでのところ、私はこの。 (5つの数字とテスト)C - 数値の立方根を見つける
#include <stdio.h>
#include <math.h>
int powers(int n)
{
return (n < 0) || (powers(n-1) && printf("%d\t%d\t%d\t\t%d\n", n, n*n, n*n*n*n, cbrt(n)));
}
int main(void)
{
printf("number\tx^2\tx^4\t\tx^(1/3)\n");
powers(5);
return 0;
}
MY OUTPUT
number x^2 x^4 x^(1/3)
0 0 0 0
1 1 1 0
2 4 16 -108170613
3 9 81 1225932534
4 16 256 -1522700739
5 25 625 -1124154156
だから、私の広場とそれがあるが、私は立方根で動作するように取得傾けるほど単純で働いているquatric。私が別にキューブのルートを実行すると、それは動作します。 printf("Cube root of 125 is %f\n, cbrt(125));
は、Cube root of 125 is 5.0000
である。
なぜ私の機能ではうまくいかないのですか? Cプログラミングの初心者ですので親切にしてください。 (コンパイラ:ボーランドC++およびIDE:C-無料5.0)問題はcbrt
が受け入れることで、cbrt(n)
が自動的に渡す前にfloat
/double
にn
を変換することを意味しますfloat
またはdouble
値を返します
'' double'を返しcbrt': '% f'、 '%g'、または'%e'です。このような印刷形式や引数の種類の不一致については、警告を有効にしてください。 –
@ColonelThirtyTwoどのヘッダーを使用しますか? –
@MOehm Ohmygod。出来た。 –