Integer/Integer soll eine kommzahl ergeben aber nur mit int als Datentyp

Gast #4319236
Lesenswert?
• ▲
▼
Hallo, ich habe folgendes Problem.
Ich muss eine Division durchführen bei der ich nur int als Datentyp 
verwenden darf aber ich muss auf ein Ergebnis mit 2 Nachkommastellen 
kommen.
Ich finde einfach keine Lösung.
Danke

also

#include<stdio.h>
int main()
{
int sum;
int prod;
int divison;

 sum = 2+4+6;
 prod = 4*1*4;
 division = prod/sum;

printf("sum %d\n", sum);
printf("prod %d\n",prod);
printf("sum %d\n", division);
return 0;
}
Gast #4319244
Lesenswert?
• ▲
▼
Bitte die ganze Hausaufgabe posten.

Dir ist bekannt, dass Ganzzahlenaithmetik abschneidet?

Also:
19/10 = 1
9/10 = 0

Zur Aufgabe:
Bestimme die Anzahl der Nachkommastellen, die du haben möchtest
Multipliziere die zu dividierende Zahl mit dem entsprechenden Faktor
Dann dividiere
Die hintersten Stellen sind dann die Nachkommastellen.
Erhalten kannst du die mit dem Modulo (Rest) Operator.
Gast #4319277
Lesenswert?
• ▲
▼
also ganz konkret hab ich bis jetzt genau das gemacht,

ich brauche die kommastellen vom Ergebnis 805 / 8
ergibt mit kommt 100,62
aber ich komm nur auf 10062
wenn ich den dividend mit 100 multipliziere
dann schreib ich unten beim printf

int division;

divison = 805/8;

printf("division%d.\n, division);

das Ergebnis lautet dann 1062.0
ich hätte gerne 100.62
danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren