Compter le nombre de lettres majuscules et minuscules dans une chaîne en C

Je veux créer un code qui trouve le nombre de lettres majuscules et minuscules. Donc par exemple

input: HelloGUYS Output: 4 5 

Ce que j’ai du code est la suivante:

 #include  #include  int main() { int i, longitud; int X[26]; char line[1010]; for(i=0; i<26; i++) { X[i] = 0; } while(gets(line)) { longitud = strlen(line); for(i=0; i= 'a' && line[i] = 'A' && line[i] <= 'Z') { X[line[i] - 'A']++; } } } for(i=0; i<26; i++) { printf("%c: %d\n", i+'a' , X[i]); } return 0; } 

Le fait est que mon programme ne fonctionne pas, je ne sais pas quel est le problème. J’apprécie vraiment l’aide. Merci 🙂

Ce dont vous avez besoin est beaucoup plus simple que cela.

Vous devez #include et simplement utiliser les isupper() et islower() .

Passez en upper_counter chaque caractère d’entrée et ayez 2 compteurs – upper_counter , lower_counter .

Votre X[i] contient le nombre de lettres minuscules et majuscules i , car vous la mettez à jour pour les deux cas. De plus, la dernière boucle imprimera TOUS les nombres de lettres. Pas dans le format que vous avez défini au début. En règle générale, il semble que le programme fasse des choses complètement différentes des exigences énoncées.