Svp aidez moi (program C)

Bonjour,
C'est la première fois que je fait de la prog C et j'ai encore du mal à executer des programmes voici un parmi eux :
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
int i=0,j=0,x=0;
char phrase[20];
printf("Tapez une phrase : \n\n ");
gets(phrase);
for (x=0;phrase[i]!='\0';x++)

for(i=0;i<20;i++)
{
if ( (phrase [i]<'a')|| ( phrase [i]> 'z') )
j++;
}
printf("\n Cette phrase contient %d caracteres dont %d ne sont pas des lettres.\n\n",x,j);
system("PAUSE");
return 0;
ou est le soussi
merci bcp

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    Je ne comprends pas ton programme.
    Pourquoi deux boucles for ?
    Une seule suffit :
    for(i=0;i<strlen(phrase);i++) { /*ou for(i=0;phrase[i]!=0;i++)*/
      if(phrase[i]<'a' || phrase>'z')
           j++;
    printf(...);
    

    Le nombre de caractères de la phrase est i.

    Et remplace, gets par fgets(phrase,sizeof phrase, stdin);

    Cdlt,
    1. merci