L'algorithme compte le nombre de chiffres décimaux [boucle], et sort chaque chiffre du nombre dans l'ordre positif et inverse

Comptez le nombre de chiffres décimaux dans l'
ordre, sortez chaque chiffre du nombre dans l'ordre inverse, sortez chaque chiffre du nombre dans
l'ordre inverse

(1) Compter le nombre de chiffres décimaux [boucle]


Compter combien de chiffres est un entier? Les entiers peuvent être négatifs, nuls ou positifs. *

Exemple 1:

Entrée: 0

Sortie: 1

Exemple 2:

Entrée: 123456789

Sortie: 9

Exemple 3:

Entrée: -123456789

Sortie: 9

Algorithme: rejeter les chiffres à chaque fois jusqu'à 0, compter le nombre de rejets

int NumofIntBit(int n)
{
    
    
	int ans = 0;
	if (n == 0)
	{
    
    
		ans = 1;
	}
	while (n != 0)
	{
    
    
		n = n / 10;
		ans++;
	}
	return ans;
}

(2) Sortie séquentielle de chaque chiffre du numéro [boucle, récursivité]

Étant donné un entier, sortez chaque chiffre du nombre, par exemple, le résultat de sortie de 123456 est 1 2 3 4 5 6.

Exemple 1:

Entrée: 123456

Sortie: 1 2 3 4 5 6

Algorithme 1: utilisez la boucle pour obtenir le chiffre le plus élevé, émettez-le, puis supprimez-le jusqu'à ce qu'il soit 0.

void PrintOrder(int n)  

{
    
      

    if(n == 0)  

    {
    
      

        printf("0\n");  

        return ;  

    }  
    int m = n;  

    int count = 0;//统计n的位数  

    while(m != 0)  

    {
    
      

        m /= 10;//丢弃个位  

        count++;  

    }  

    int power = (int)pow(10.0,count-1);//需要引用math.h  
   while(n != 0)  

    {
    
      

        printf("%d ",n/power);//输出最高位  

        n %= power; //丢弃最高位  

        power /= 10;  

    }  

} 

Algorithme 2: utiliser des données de sortie récursives

void OutPositiveSequence(int n)
{
    
    
	if (n < 10)
		printf("%d\n", n);
	else
	{
    
    
		OutPositiveSequence(n / 10);
		printf("%d\n", n % 10);
	}
}

(3) Sortez chaque chiffre du nombre dans l'ordre inverse [boucle]


Étant donné un entier, sortez chaque chiffre du nombre dans l'ordre inverse, par exemple, le résultat de sortie de 123456 est 6 5 4 3 2 1

Exemple 1:

Entrée: 123456

Sortie: 6 5 4 3 2 1

Algorithme 1: Obtenez le chiffre des unités, sortez le chiffre des unités, puis supprimez le chiffre des unités jusqu'à 0

void PrintReverse(int n)  

{
    
      

    do  

    {
    
      

        printf("%d ",n%10);//得到并输出个位  

        n /= 10;//丢弃个位  

    }while(n != 0);  

    printf("\n"); 
} 

Je suppose que tu aimes

Origine blog.csdn.net/Gunanhuai/article/details/109262641
conseillé
Classement