Δημοσιεύτηκε: 16 Μαρ 2012, 03:24
Λοιπον δοκιμασα την άσκηση 1 στην σελ. 95
για θετικους ειναι της πλακας νταξει.... για αυτο ειπα να της προσθέσω και αρνητικους....
πχ αν δινεις -999 να σου λεει πως έδωσες τριψηφιο.... λοιπον στους θετικους ο παρακατω κωδικας δουλευει μια χαρα
αν και εχει το προβλημα οτι αμα δωσεις πχ 022 το λαμβανει υποψιν σαν 22 και λεει οτι εχει 2 ψηφια.... ενω θα ηθελα και αυτο
να το διορθωσω.... Παρολαυτα στους αρνητικους εχει μεγαλο προβλημα... ας πουμε δινεις οποιονδηποτε αρνητικο και σου λεει οτι
εχει 2 ψηφια....
Δεν νομιζω να εχω κανει καποιο λαθος στην διάταξη των πραγματικων αριθμών :/
σημαινει -8 , -7 , -6...... - 1.
σημαινει -11 , -12 ...... -97... -98
(η σειρα που τα βάζω ειναι λαθος γιατι οι μεγαλυτεροι συνηθως πανε απο αριστερα στα δεξια και το -97 δεν ειναι μεγαλυτερος του -11 πχ)
edit: Η scanf δημιουργει το προβλημα γιατι διαβάζει και το πρόσημο.
για θετικους ειναι της πλακας νταξει.... για αυτο ειπα να της προσθέσω και αρνητικους....
πχ αν δινεις -999 να σου λεει πως έδωσες τριψηφιο.... λοιπον στους θετικους ο παρακατω κωδικας δουλευει μια χαρα
αν και εχει το προβλημα οτι αμα δωσεις πχ 022 το λαμβανει υποψιν σαν 22 και λεει οτι εχει 2 ψηφια.... ενω θα ηθελα και αυτο
να το διορθωσω.... Παρολαυτα στους αρνητικους εχει μεγαλο προβλημα... ας πουμε δινεις οποιονδηποτε αρνητικο και σου λεει οτι
εχει 2 ψηφια....
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include<stdio.h>
int main(void)
{
int number;
printf(" Give the number: ");
scanf("%d" , &number);
if(number>=0 && number<10)
printf("The number %d has one digit " , number);
else if(number<100)
printf("The number %d has two digits " , number);
else if(number<1000)
printf(" The number %d has three digits " , number);
else if(number<0 && number>-9)
printf(" The number %d has one digit " , number);
else if(number<=-10 && number>= -99)
printf(" The number %d has two digits " , number);
else if(number<= - 100 && number >= -999 )
printf(" The number %d has three digits " , number);
else
printf(" Over than three digits ");
return 0;
}
Δεν νομιζω να εχω κανει καποιο λαθος στην διάταξη των πραγματικων αριθμών :/
- Κώδικας: Επιλογή όλων
number > -9
σημαινει -8 , -7 , -6...... - 1.
- Κώδικας: Επιλογή όλων
number<=-10 && number>= -99
σημαινει -11 , -12 ...... -97... -98
(η σειρα που τα βάζω ειναι λαθος γιατι οι μεγαλυτεροι συνηθως πανε απο αριστερα στα δεξια και το -97 δεν ειναι μεγαλυτερος του -11 πχ)
edit: Η scanf δημιουργει το προβλημα γιατι διαβάζει και το πρόσημο.