Ultima modifica:
C:
#include <stdio.h>
int main()
{
int n;
//Richiede il numero finche è non è un numero appartenente ai numeri interi positivi
do{
printf("\nInsert a number ");
scanf("%d", &n);
}while( n <= 0 );
/*
Estraggo la cifra meno significativa ad ogni ciclo
e ne stampo L volte il carattere, dove L è il numero estratto al ciclo corrente.
Prima di passare al prossimo ciclo, divido il numero per 10, così da avere
il prossimo ciclo già pronto per essere eseguito
*/
do{
int l = n % 10;
int k;
n/=10;
printf("|", l);
for(k = 0; k < l; k++){
printf("*");
}
printf("\n");
}while(n != 0);
return 0;
}
Messaggio unito automaticamente:
C:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int n;
//Richiede il numero finche è non è un numero appartenente ai numeri interi positivi
do{
printf("\nInsert a number ");
scanf("%d", &n);
}while( n <= 0 );
//Ricopio il numero in una stringa per semplicità
char nInStr[50];
sprintf(nInStr, "%d", n);
int i,k;
/*
Per ogni singolo carattere, lo converto in intero e ne tolgo il valore di '0', perchè
quando ne fai il Typecasting, viene convertito nel valore numerico ASCII corrispondente,
e levandone il carattere '0', ho il numero esatto in intero ;-)
Quindi ne vado stampare la formattazione desiderata
*/
for( i = 0; i < strlen(nInStr); i++){
int digit = (int)(nInStr[i] - '0');
printf("\n|");
for( k = 0; k < digit; k++){
printf("*");
}
}
return 0;
}
Secondo punto