Dans l'une de mes affectations, je suis censé obtenir les valeurs de x^2, x^4 et la racine cubique de x dans laquelle x est de 0 à 100. Jusqu'à présent, j'ai ce. (Test avec 5 chiffres)C - Trouver la racine Cube d'un nombre
#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;
}
MA SORTIE
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
Alors, ma place et quatric travaillent aussi simple qu'il est, mais je ne peux pas aller travailler avec la racine cubique. Quand je fais la racine cubique séparément cela fonctionne. printf("Cube root of 125 is %f\n, cbrt(125));
donne Cube root of 125 is 5.0000
.
J'ai besoin d'aide pour comprendre pourquoi cela ne fonctionne pas dans ma fonction. Nouveau à la programmation C alors s'il vous plaît soyez gentil. (compilateur: Borland C++ et IDE: C-libre 5,0)
'' cbrt' retourne un double', donc vous devez imprimer le résultat avec l'un des formats à virgule flottante: '% f', '% g' ou'% e'. Activez les avertissements pour en savoir plus sur ces incompatibilités de formats d'impression et de types d'arguments. –
@ColonelThirtyTwo Quel en-tête dois-je utiliser? –
@MOehm Ohmygod. ÇA A MARCHÉ. –