Piccolo programmino di C

di il
2 risposte

Piccolo programmino di C


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int getDim(int);

int main()
{
    int n;

    printf("\n Inserici il numero da convertire: ");
    scanf("%d", &n);

    int i,j;

    int dim=getDim(n);

    printf("\n Dim: %d\n", dim);

    for(i=dim-1;i>0;i--){
        for(j=(n/(int)pow(10,i))%10;j>0;j--)
            printf("1");

        printf(" ");
    }

    for(j=n%10;j>0;j--)
        printf("1");

    return 0;
}

int getDim(int n)
{
    int dim=0;

    while(n>0){
        dim++;
        n/=10;
    }

    return dim;



Qualcuno sa spiegarmi cosa fa questo programma?!
Il programma sostituisce un numero con una sequenza di 1 , per esempio 123 -> 1 11 111

2 Risposte

  • Re: Piccolo programmino di C

    Sì, scompone il numero nelle sue cifre e per ogni cifra visualizza un numero di 1 equivalenti
  • Re: Piccolo programmino di C

    Quindi , questo primo ciclo for scompone un numero nelle sue cifre
    
    for(i=dim-1;i>0;i--){
            for(j=(n/(int)pow(10,i))%10;j>0;j--)
                printf("1");
    
            printf(" ");
        }
    
    

    e quest'altro aassegna gli "1" ad ogni cifra?

    for(j=n%10;j>0;j--)
    printf("1");
Devi accedere o registrarti per scrivere nel forum
2 risposte