2016-10-16 10 views
2

Ich weiß, dass "Hausaufgaben" hier nicht gut wahrgenommen werden, aber ich habe versucht, online zu suchen, aber ich komme wirklich nirgendwohin und ich fordere niemanden auf, es zu vervollständigen, nur um mich darauf hinzuweisen die richtige Richtung.In Bezug auf Fließkommazahlen

Ich habe dies im Laufe der letzten Stunden erstellt, nicht viel weiß ich aber so weit so gut. Jetzt muss ich hinzufügen, dass es zwei Floats nach den vorherigen zwei Ergebnissen (Die erste Summe und die Modulo-Summe) druckt. Zum Beispiel wird nicht 4 für 30/7, sondern 4,28 oder was auch immer gedruckt. TIA :)

#include <stdio.h> 
    int main() 
    { 
    int number1, number2, sum; //declares 3 variables 
    printf("This is used to divide and find the modulo of two integers\n"); 
    printf("Enter your first integer: "); 
    scanf("%d", &number1); 
    printf("Enter your second integer: \n"); 
    scanf("%d", &number2); 
    sum = number1/number2; 
    printf("%d/%d = %d\n", number1, number2, sum); 
    sum = number1 % number2; 
    printf("%d/%d = %\n", number1, number2, sum); 


return 0; 

}

+0

Ändern Sie "% d" in "% f". Siehe * man 3 printf *. – EJP

+1

Sie verwenden C++. Verwenden Sie 'std :: cout', wo dieser Fehler nicht auftritt, nicht' printf' – PaulMcKenzie

+0

"druckt zwei Floats" - was? Die Division von Fließkommazahlen hinterlässt keinen Rest. Aus diesem Grund arbeitet '%' nicht einmal mit Fließkommazahlen. – MSalters

Antwort

3

Um eine float Verwendung %f und konvertieren die Nummer float zu drucken:

printf("%d/%d = %f\n", number1, number2, (float)number1/number2); 
//    ^      ^^^^^^^ 

Wichtige Dinge über diese Änderung zu beachten (hervorgehoben oben):

  • Verwenden Sie %f für eine float oder double
  • Geben Sie eine der Zahlen in float oder double ein, um eine Gleitkommadivision zu erstellen.