Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Οτι λεει ο τιτλος, ας πουμε θελω ο χρηστης να εισαει π.χ. 1.23 1.54 1.86 και να βγαινει το αθροισμα ακεραιων μερων δηλαδη 3. Οι αριθμοι πρεπει να δηλωθουν ως πραγματικοι η ως ακεραιοι?

float x, y,z; 
int sum;

printf("Please type three numbers, separated by spaces and press Enter\n");
	scanf("%f %f %f", &x, &y, &z);
	sum=x+y+z;
	printf("The integer sum of the given numbers is: %d\n", sum);

EDIT: Ας κλειδωθει το θεμα. Ο κωδικας δουλευει τελικα! Απλως εκανα τις μλκιες μου παλι!

Δημοσ. (επεξεργασμένο)

Καλημέρα !

 

Ένας άλλος τρόπος που μπορείς να το γράψεις για να βγάζει πράγματι τρία όπως ακριβώς το θέλεις, είναι ο εξής

 

#include <stdio.h>
#include <math.h>
void main() {
float x, y,z,tmp;
int sum;

printf("Please type three numbers, separated by spaces and press Enter\n");
    scanf("%f %f %f", &x, &y, &z);
    tmp=floor(x)+floor(y)+floor(z);
    sum=(int)tmp;
    printf("The integer sum of the given numbers is: %d\n", sum);
}

 

Απλά μετά κάνεις μεταγλώτιση π.χ ως εξής : gcc -lm sum.c για να συνδεθεί και με τη βιβλιοθήκη math.h

 

Φιλικά,

Ο Άσπρος Γάτος

Επεξ/σία από White_Cat
Δημοσ.

Φίλε Μεξικάνε, τον κώδικα τον βλέπω καλογραμμένο και μάλιστα τον δοκίμασα με GCC Compiler σε Linux κι έτρεξε μιά χαρά. Δεν μπορείς να μιλάς για μλκ... λοιπόν.

 

Φιλικά,

Ο Άσπρος Γάτος

Έτσι όπως είναι δε δουλεύει σωστά. Και αυτό γιατί κάνει κανονικά τις πράξεις ως floating point και μετά κάνει το truncate. Οπότε αντί για 3 υπολογίζει 4. Οπότε θα μπορούσε να γίνει αυτό που είπε ο lion2486. Μετά υπάρχει και η trunc.

  • Like 1
Δημοσ.

Λοιπον παιδια εχετε δικιο ειχε θεμα ο κωδικας και τον διορθωσα τωρα! Ευχαριστω τον lion2486 που ειπε τη μαγικη λεξη cast! Επειδη ειμαι τελειως αρχαριος δεν θυμομουν πως ακριβως μετατρεπεται ο πραγματικος σε ακεραιο αλλα με το που ειδα το cast αμεσως καταλαβα! Thank you!

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...