Ce code tente de compter les chiffres dans le numéro d'entrée.Comment compter les chiffres dans un nombre, y compris les zéros en tête?
Si le numéro d'entrée est 06584
, la sortie de ce code sera 4
, à l'exclusion de zéro. Comment puis-je obtenir 5
en sortie (donc en comptant le zéro)?
#include<stdio.h>
void main()
{
int n,c=0,d;
printf("Enter no\n");
scanf("%d",&n);
while(n!=0)
{
d=n%10;
c++;
n=n/10;
}
printf("No of digits=>%d\n",c);
}
Aucune solution mathématique va détecter un zéro. Vous devez lire l'entrée de l'utilisateur sous forme de chaîne et obtenir la longueur de la chaîne. – Kenster
vous devez ajouter 'printf' de n avant votre temps, vous verrez que le 0 principal (s) est allé – pm100
' char n [100]; scanf ("% s", n); c = strlen (n); Cela vous donnera le nombre de chiffres en supposant que l'entrée est valide. Pour vérifier que c'est bien un nombre, utilisez 'strtol'. – kaylum