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

Διαίρεση στη C


kanarinaki

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

Δημοσ.

καλησπέρα

θα ήθελα να ρωτήσω πώς μπορώ να διαιρέσω 2 πραγματικούς αριθμούς και το αποτέλεσμα να εκτυπώνεται με ακρίβεια k σημαντικών ψηφίων.το k το ορίζω ως είσοδο.

double n,d,z;

int k;

n=GetReal();

d=GetReal();

k=GetInteger();

z=n/d;

printf("To apotelesma: %f", z);

Δημοσ.

>
double n,d,z;
unsigned int k;
n=GetReal();
d=GetReal();
k=GetInteger();
z=n/d;
char format[100];
sprintf(format, "To apotelesma: %%.%if", k);
printf(format, z);

Να ξέρεις όμως πως το k έχει κάποιο "φυσικό" περιορισμό, αφού τα double έχουν μέγεθος 64bit. Για παράδειγμα δοκίμασε:

n=10;

d=3;

k=20;

Δημοσ.

σε ευχαριστώ πάρα πολύ.2 μέρες παιδεύομαι.μία κόβω τον αριθμό στα δύο, μία το κάνω αλφαριθμητικό... αλλά τίποτα.όλο σφάλμα βγάζει.όσο για τον περιορισμό ναι το ξέρω.και πάλι σε ευχαριστώ

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...