Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Beschreibung : Aufgabe 3.1 (Wurzel)
- Autor : BUI MINH TUNG
- Matrikelsnummer : 2360077
- Gruppe : PPR1/01 E1B
- Datum : 25/04/2018
- */
- // Benötiger Header
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- // Prototypen
- void flashStandarInput(void);
- //Beginnung mit der Hauptfunktion
- int main(void)
- {
- double a;
- double xn;
- double xn_1;
- int genau;
- double abstand = 1; // der Abstand am Anfang ist 1
- int lv;
- printf("Bitte Zahl eingeben, deren Wurzel berechnet werden soll!\n");
- scanf("%lf", &a); //a ist hier der aktuelle Parameter.
- flashStandarInput();
- printf("Bitte Anzahl der g¨ultigen Stellen hinter dem Komma eingeben!\n");
- scanf("%d", &genau);
- flashStandarInput();
- if ((a >= 0) && (genau >= 0))
- {
- xn = a;
- xn_1 = a;
- for (lv = 1; lv <= genau; lv++)
- {
- abstand = abstand*0.1; // nach jeder Schleife wird abstand mit 0.1 multiplizieren.
- lv++;
- }
- do
- {
- xn = xn_1;
- xn_1 = 0.500*(xn + a / xn);
- } while ((xn - xn_1) > abstand || (xn - xn_1) < (-1)*abstand);
- printf("Die Wurzel von %lf ergibt %.*lf.\n", a, genau,xn_1);
- /*
- %.*lf ist hier das Ergebnis, in dem %lf der Typ-Wert des Ergebnisses ist
- und ".*" ist entsprechend in deisem Fall mit "genau". Mit dem "%.*lf" können wir eine reelle Zahl
- mit beliebige Stelle nach dem Komma ausgeben, die aus der Tastatur eizugeben ist .
- */
- }
- return 0;
- }
- // Hilfsfunktion um den Eingabepuffer zu leeren
- void flashStandarInput(void)
- {
- int IntCharacter;
- while ((IntCharacter = getchar()) != '\n' && IntCharacter != EOF);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement