comment mettre en équation mathématique en C
J'ai essayé de chercher sur Google comment mettre dans une équation dans mon programme, mais n'était pas en mesure d'en trouver. Comment avez-vous inclure:
x = ( -b + √b2 - 4ac ) / 2a
dans le programme?
Voici mon code:
{
int a, b, c;
float x;
//statements
printf("Enter three integers: ");
scanf("%d %d %d", &a, &b, &c);
//computeforX
x = ( -b + √b2 - 4ac ) / 2a
printf("The value of x is %.1f", x);
return 0;
}
- Le langage de programmation qu'êtes-vous en train de parler?
- Êtes-vous en train d'essayer d'évaluer l'équation ou vous êtes tout simplement en essayant d'afficher l'équation? Cela ressemble à l'un des langages comme le C, C++, est-ce correct?
- ce n'est pas correct ou de bonnes pratiques. ce si a est égal à zéro? b? c? Il existe des cas particuliers à prendre en compte.
- Aussi, sommes-nous d'assumer la deuxième partie de l'équation est
the square root of b then multiplied by 2
ou est-ilthe square root of the result of b multiplied by 2
? - Je en déduire que c'est censé être l'équation pour résoudre une équation du second degré: en.wikipedia.org/wiki/Quadratic_formula#Quadratic_formula.
- Charlesworth Convenu ce qui signifie que la formule telle que présentée est loin.
- salut les gars, je fais de la programmation en C. Désolé j'ai oublié le plus important..
- en réponse @Thomas question, il est la racine carrée de b au carré moins 4ac
- Je n'ai jamais vu personne utiliser des caractères Unicode comme opérateurs dans un code ASCII de la langue.
- salut, c'est pourquoi j'ai demandé de l'aide comment l'écrire correctement dans l'éditeur
- Juste un conseil: Si vous ne le voyez pas sur votre clavier, il n'est probablement pas un opérateur. (Vous pouvez utiliser des caractères Unicode dans les chaînes de
std::cout << "√144 = 12";
, mais seulement si votre IDE a le support de l'Unicode activé. [Ou quelque chose comme ça.]) - C'est une formule plutôt qu'une équation. Vous avez besoin soit d'une autre langue pour les équations, comme Modelica, ou de mettre en œuvre un algorithme convenable pour l'équilibrage ou la résolution de l'équation pour votre domaine.
- à noter que l'expression est incorrecte. Il devrait être
x = ( -b + √(b2 - 4ac) ) / 2a
Vous devez vous connecter pour publier un commentaire.
En supposant que nous parlons de C (ou C++) ici, vous aurez besoin pour enquêter sur la
sqrt
fonction, et peut-être aussi lepow
fonction (même si c'est inutile, carb
carré peut être calculée commeb*b
).Notez que vous aurez besoin de convertir toutes les valeurs d'entrée de
float
oudouble
avant de commencer le calcul, sinon vous n'obtiendrez pas le résultat escompté.%f
.sqrt()
.Vous avez besoin d'un tableau pour vous permettre de traduire:
a+b ->
a+b
a-b ->
a-b
a/b ->
a/b
ab ->
a*b
√x ->
sqrt(x)
x2 ->
x*x
(Si vous voulez à la place quelque chose de plus compliqué, il pourrait être préférable d'utiliser une variable temporaire pour la valeur à carré, de casser votre équation en morceaux.)Noter que si vous divisez un
int
par unint
en C, vous obtenez un int. Afin de mieux convertir cesint
s àdouble
s avant de se diviser.Si nous avons affaire avec le C++, il serait quelque chose comme
Maintenant pourquoi j'ai ce sentiment bizarre je viens de faire à quelqu'un du premier semestre de la programmation de la classe de devoirs?
Accordé sa fait des années et je ne sais même pas si ça va compiler, mais vous devriez obtenir l'idée.
Je suis vraiment déprimé à la recherche de la qualité des réponses ci-dessus, et de l'aide, qui a été donné.
Je l'espère, d'améliorer le contenu de ce fil.
On peut compiler le fichier C en dessous de la ligne de commande
gcc file.c -o file -lm
.Ci-joint une solution possible dans C:
<stdlib.h>
? Et ce sont tous ceux qui lance?scanf
pour la saisie de l'utilisateur. Et si vous le faites, toujours vérifier sa valeur de retour.sqrt(b * b - 4 * a * c)
.