Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tre giorni in Finlandia con OnePlus Watch 2 Nordic Blue. La nostra prova a temperature estreme
Tre giorni in Finlandia con OnePlus Watch 2 Nordic Blue. La nostra prova a temperature estreme
Siamo volati a Helsinki, in Finlandia, per testare a fondo il nuovo OnePlus Watch 2 Nordic Blue Edition. L'orologio ci ha convinti durante i test invernali a Helsinki, grazie al design raffinato, alle prestazioni impeccabili, alla resistenza agli ambienti estremi e all'ottima autonomia garantita dalla modalità intelligente.
Lenovo Factory Tour: siamo entrati nella fabbrica ungherese che produce PC, storage e server
Lenovo Factory Tour: siamo entrati nella fabbrica ungherese che produce PC, storage e server
Edge9 ha visitato lo stabilimento produttivo di Lenovo nei pressi di Budapest in Ungheria, che serve tutta la zona EMEA per i prodotti “business”: PC, storage e server. Un impianto all’avanguardia, con altissimi tassi di efficienza ma anche una grande attenzione alle condizioni lavorative dei dipendenti e alla sostenibilità ambientale
Acer Nitro V 15, alla prova il notebook gaming essenziale con RTX 4050 Laptop
Acer Nitro V 15, alla prova il notebook gaming essenziale con RTX 4050 Laptop
Acer Nitro V 15 è un notebook gaming che punta sul rapporto prezzo-prestazioni per garantire a chi ha un budget intorno o persino inferiore ai 1000€ di giocare abbastanza bene in Full HD grazie alla RTX 4050 Laptop di NVIDIA e la compatibilità con il DLSS 3.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-11-2010, 12:44   #1
X360X
Moderatore
 
L'Avatar di X360X
 
Iscritto dal: Oct 2009
Città: Roma
Messaggi: 16057
[C] Calcolare il numero di cifre di un intero

Come posso fare, dato un intero, a farmi dire il numero di cifre che lo compongono?
ovvero:
2546 = 4
435678 = 6
...

dovrebbe essere stato fatto con le semplici printf, scanf e for/while (col solo header stdio.h)

non ne ho idea quindi non ho scritto nulla (inutile scrivervi che immetto il numero )

nel caso non si possa gradirei anche un esempio col metodo più semplice (è un esercizio di base, non può esserci granché)

poi vorrei anche sommare queste cifre, scriverle in ordine inverso...magari capito questo riesco a farlo

PS: non è un esercizio assegnato dalla scuola, ho visto che non si può chiedere
__________________
Meshroom S Blue || Fractal Ion 650G || P12 Slim PWM || AXP120-X67 ARGB || B550M PRO-VDH WiFi
5600X@PPT120 +200Clock -15Curve || 64GB 3200@3600 C16 || Asus 4070 12G@0.935V 2.7/11.5GHz
FURY Renegade 2TB(gen4) || WD Black 500GB(gen3) || The Notebook || PS5|Series S|Deck|RPi4 2G

Ultima modifica di X360X : 19-11-2010 alle 12:52.
X360X è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2010, 12:54   #2
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 530

Ultima modifica di rеpne scasb : 18-06-2012 alle 16:11.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2010, 13:07   #3
X360X
Moderatore
 
L'Avatar di X360X
 
Iscritto dal: Oct 2009
Città: Roma
Messaggi: 16057
ti ringrazio, così non c'è problema a farlo.
ero convinto fosse stato usato solo l'header stdio.h, ma forse mi sbaglio

Codice:
#include <stdio.h>
#include <math.h>

int main() {
    int x, ncifre;
    printf("Inserire un intero: ", x);
    scanf("%d", &x);
    ncifre=log10(x)+1;
    printf ("Questo numero è composto da %d cifre\n", ncifre);
    return 0;
}
però in effetti con il resto che voglio provare a fare centra poco, per le altre cose dovrei proprio scomporre il numero in singole cifre...mi ci toccherà riflettere un bel po' mi sa
__________________
Meshroom S Blue || Fractal Ion 650G || P12 Slim PWM || AXP120-X67 ARGB || B550M PRO-VDH WiFi
5600X@PPT120 +200Clock -15Curve || 64GB 3200@3600 C16 || Asus 4070 12G@0.935V 2.7/11.5GHz
FURY Renegade 2TB(gen4) || WD Black 500GB(gen3) || The Notebook || PS5|Series S|Deck|RPi4 2G

Ultima modifica di X360X : 19-11-2010 alle 13:19.
X360X è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2010, 14:12   #4
Supdario
Member
 
Iscritto dal: Mar 2008
Messaggi: 267
Se vuoi scomporre un numero cifra per cifra ti basta convertirlo in una stringa, esempio veloce:

Codice:
int numero, len;
printf("Inserisci numero: ");
scanf("%d", &numero);
len = (int) log10(numero)+1;
char *cifre = (char *) malloc(sizeof(char) * (len+1));
sprintf(cifre, "%d", numero);
//Numero nella stringa: cifre
Supdario è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2010, 10:23   #5
Mr.Gamp
Member
 
L'Avatar di Mr.Gamp
 
Iscritto dal: Aug 2008
Città: Veneto
Messaggi: 90
Oddio mi sembra abbastanza banale come esercizio, visto che è un numero in base dieci ti basta dividerlo per dieci finchè non ottieni zero, e ad ogni ciclo incrementi di uno il contatore delle cifre.
prendiamo 1234 come numero dividiamo per dieci e otteniamo 123 (count=1) dividiamo per 10 e otteniamo 12 (count=2) dividiamo ancora 1 (count=3) dividiamo otteniamo 0 (count=4) il ciclo termina poiché n = 0.

Codice:
#include <stdio.h>
  int main(){
    int n, count=0;
  
    printf("Inserisci un numero: ");
    scanf("%d", &n);
    while ( n ){
      n /= 10;
      count++;
    }
    printf("Il numero %d ha %d cifre\n", n, count);
}
__________________
Scheda Madre ASUS P5S800-VM S.O. Windows Xp SP3 Cpu Pentium 4 3.06 GHz 512 + 512 Mb Ram Scheda Video ATI RADEON 9550 256 MbH.D. SEAGATE ST3200826A
Mr.Gamp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tre giorni in Finlandia con OnePlus Watch 2 Nordic Blue. La nostra prova a temperature estreme Tre giorni in Finlandia con OnePlus Watch 2 Nord...
Lenovo Factory Tour: siamo entrati nella fabbrica ungherese che produce PC, storage e server Lenovo Factory Tour: siamo entrati nella fabbric...
Acer Nitro V 15, alla prova il notebook gaming essenziale con RTX 4050 Laptop Acer Nitro V 15, alla prova il notebook gaming e...
Stellar Blade: l'action RPG di Shift Up sfoggia uno stile (quasi) unico su PS5 - Recensione Stellar Blade: l'action RPG di Shift Up sfoggia ...
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Helldivers 2 ritirato dalla vendita in 1...
Tutte le offerte del weekend sui robot p...
4 friggitrici ad aria sotto i 50€! Una è...
Scontatissimi 2 ASUS TUF con GeForce RTX...
Questa nuova memoria può funziona...
Super sconti realme 12 Pro 5G e realme 1...
Non perdetevelo: DJI Mini 3 (no patentin...
Samsung dirà addio alle GPU AMD p...
PlayStation Plus: a maggio regala EA Spo...
Intel ha ricevuto 30 milioni di euro dal...
Offerte Amazon del Weekend: super prezzi...
I Google Pixel Watch 2 sono crollati a 2...
Creator digitali, c'è un PC LG Gr...
La sindrome da inseguimento ad OpenAI st...
Da non credere: questo TV Nokia UHD da 6...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www3v