Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- C - Nachkommastelle abschneiden (http://www.informatikerboard.de/board/thread.php?threadid=1120)


Geschrieben von Kallinski am 05.01.2012 um 14:28:

  C - Nachkommastelle abschneiden

Meine Frage:
Hi Leute,

ich muss ein Programm in C schreiben, dass den Kehrwert einer Zahl n berechnet und das Ergebnis dann mit den ersten k Nachkommastellen ausgibt.

An sich ist es kein Problem, nur die Nachkommastellen abzuschneiden bereitet mir Probleme.

Also Bsp.: n=3, k=2 nun sollte in der Ausgabe stehen:0,33



Meine Ideen:
Ich gebe ja aus mit: printf("Kehrwert von ist %f ." 1/n);

Wenn es immer zwei Nachkommastellen wären, könnte ich ja schreiben: %.2f aber nun weiß ich ja nicht was der Benutzer eingibt. Und %.kf funktioniert ja auch nicht oder ist es möglich anstatt einer festen Zahl (hier jetzt die 2) eine Variable zu schreiben?


Bin für jeden Tipp dankbar



Geschrieben von Karlito am 06.01.2012 um 00:59:

 

Hi,

2 spontane Ideen:
1. round funktion (http://www.codecogs.com/reference/computing/c/math.h/round.php)
2. Werte selbst berechnen (ähnlich schriftlicher Division)

VG,

Karlito



Geschrieben von Chrisi_K am 06.01.2012 um 11:05:

 

Hallo

Die Anzahl der Nachkommastellen kann mit dem Stern als Variable angegeben werden:
printf("%.*f", k, 1.0/n);

Gruss Chris


Forensoftware: Burning Board, entwickelt von WoltLab GmbH