******** En Algorithme ********
Algorithme Nb_chiffres Variables i,N,n : entiers Debut Ecrire("Enter un entier : ") Lire(N) i ← 1 TantQue (N div 10 ≠ 0) faire N ← N div 10 i ← i+1 FinTantQue Ecrire("Le nombre de chiffres est",i) Fin Résultat ==> Enter un entier : 5187643 Le nombre de chiffres est 7
Retour vers la liste d'exercices
******** En C ********
#include<stdio.h> int main(){ int i=1,N,n; printf("donner un entier : "); scanf("%d",&N); n=N; while(n/10 != 0){ n=n/10; i=i+1; } printf("Le nombre de chiffres est %d",i); return 0 ; }
Retour vers la liste d'exercices
******** En C++ ********
#include <iostream>
using namespace std;
int main(){
int i=1,N,n;
cout<<" Donner un entier : ";
cin>>N; n=N;
while(n/10 != 0){
n=n/10; i=i+1;
}
cout<<" Le nombre de chiffres est "<<i;
return 0 ;
}
******** En JAVA ********
import java.util.Scanner;
class Main {
public static void main(String[] args){
int i=1,n;
Scanner sc = new Scanner (System.in);
System.out.print("Entrer un entier:");
n = sc.nextInt();
while(n/10 != 0){
n=n/10; i=i+1;
}
System.out.print("Le nombre de chiffres est "+i);
}
}
class Main {
public static void main(String[] args){
int i=1,n;
Scanner sc = new Scanner (System.in);
System.out.print("Entrer un entier:");
n = sc.nextInt();
while(n/10 != 0){
n=n/10; i=i+1;
}
System.out.print("Le nombre de chiffres est "+i);
}
}
1 Commentaires
L'algorithme est correct, mais ne doit pas modifier l'entrée N. En effet, il faut éviter les effets de bord (fonction qui modifie gratuitement ses arguments, ce qui est le cas ici).
RépondreSupprimerJe mettrais q<--N (affectation) et j'appliquerais les modifications sur q.
Amicalement
Ghani