2016-04-01 8 views
-2

zu schreiben, wie ein solcher Ausdruck in C-Sprache zu definieren:brauchen eine Teilung Ausdruck in c Sprache

x+(x^2)/(2*2-1) 

wo x eine reelle Zahl ist.

Ich habe versucht, den Ausdruck einzugeben, wie es ist, aber das hat nicht geholfen.

die Sache ist, ich möchte keine selbstdefinierten Funktionen verwenden, nur Schleifen.

irgendwelche ideen jemand?

+0

Die '/'Operator ist der richtige Operator zum Darstellen der Division. Wenn du sagst "das hat nicht geholfen" was meinst du? Welchen Fehler hast du bekommen? –

+0

vielleicht ist der Bedienerfehler mit '^'? –

+2

In C ist der Cursor '^' der bitweise xor-Operator, der nur mit Integer-Typen arbeiten kann. Es gibt keinen Energieoperator, aber Sie können x² als 'x * x 'berechnen oder' pow (x, 2) 'aus' 'verwenden. –

Antwort

1

In C ist ^ der bitweise XOR-Operator. Es gibt keinen "Power of" Operator.

So ist die C Äquivalent würde wie folgt aussehen:

x+(x*x)/(2*2-1) 

Operator Vorrang ebenso wie für Mathematik ist, so beachten Sie, dass die oben äquivalent zu

x + ((x*x)/((2*2)-1)) 

Wenn Sie eine Variable „benötigen raise x zur Potenz von y "gibt es leider nur die pow() Funktion, die auf Gleitkommavariablen arbeitet und daher etwas aufgebläht und ineffizient ist. Das Schreiben Ihrer eigenen ganzzahligen Version ist jedoch trivial, see this.

+0

Vielen Dank für die Kenntnis dieser Rallye hilfreich und ein Teil von dem, was ich gesucht habe –

0

Zunächst müssen Sie in Code, Boden für die Anzeige des Ergebnisses von was Sie wollen. Das Eingeben von Ausdrücken "wie es ist" in c-Code wird nichts für Sie tun. Hier ist ein Beispiel für ein einfaches c-Programm, das tun, was Sie wollen:

#include <stdio.h> 

int main (void) { 
int x, result; 
x = 10; // x is 10 for this example, but you may assign any number where both x and result are within the range of integers 
result = x + (x * x)/(2 * 2 - 1); 
printf("The result is : %d", result); 
return 0; 
} 

Die wichtigsten Punkte sind hier:

  • a^2 in C-Programmierung repräsentiert nicht die Rechenleistung, sein ein bitweise XOR stattdessen.
  • a^2 kann zu einem * a durch grundlegende Mathematik vereinfacht werden.
  • eine Zahl in berechnen c Sie es tatsächlich berechnen müssen, nicht nur es berechnen (die printf-Anweisung für diese Instanz druckt auf die Konsole aus dem das Programm in meinem Beispiel ausgeführt wird)