Avatar billede zity Nybegynder
02. december 2005 - 15:55 Der er 3 kommentarer og
2 løsninger

Udregn hvor mange tal en int indeholder

Hej
Hvordan kan jeg i C finde ud af hvor mange tal en int indeholder? Hvis jeg feks har en int som er 100 så indeholder den 3 tal. Findes der en smart måde at finde ud af det på? Man kan selvfølgelig bruge nogle if'er men jeg kunne forestille mig at der fantes en lettere måde.

På forhånd tak.
Avatar billede dennismp Nybegynder
02. december 2005 - 16:53 #1
En int indeholder kun et tal, stol du på det :-)

Men hvor mange cifre, kan udregnes fx ved:

int i = 23232;
int digits = 0;

while(i) {
  digits ++;
  i = (int)floor(i/10);
}

printf("%d har %d cifre\n", i, digits);
Avatar billede arne_v Ekspert
02. december 2005 - 16:57 #2
i = (int)floor(i/10);

kunne bare være

i = i/10;

alternativt kan man

digits = log10(i) + 1;
Avatar billede zity Nybegynder
02. december 2005 - 17:12 #3
Takker begge dele virker :D

Så arne_v smider du også lige et svar? Så kan i dele pointne :)
Avatar billede arne_v Ekspert
02. december 2005 - 19:24 #4
ok
Avatar billede arne_v Ekspert
02. december 2005 - 19:24 #5
det aller hurtigste er nok en binær søgning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester