首页 > 用户发贴区 > 编程问题提问区 > 路过的大哥帮忙看看
2006
05-26

路过的大哥帮忙看看

main()
{
 char c;
 int a=0,b=0,d=0,e=0;
 for(;(c=getchar())!=’\n’;)
    {
     if((c>=’A'&&c<=’Z')||(c>=’a'&&c< =’z'))
       a=a+1;
     else if(c=’ ‘) b=b+1;
     else if(c>=’0′&&c<=’9′) d=d+1;
     else e=e+1;
    }


 printf(“英文字母有%d个\n”,a);
 printf(“空格有%d个\n”,b);
 printf(“数字有%d个\n”,d);
 printf(“其他字符有%d个\n”,e);
}


不知道错在哪里


路过的大哥帮忙看看》有 1 条评论

  1. 冰的热度 说:

    错误有三

    1:不应用for循环,应用while

    2:if((c>=’A'&&c<=’Z')||(c>=’a'&&c&l t; =’z'))中的后面的c<=’z'等号前面有一空格,应把空格去掉

    3:else if(c=’ ‘) b=b+1;中的c=’ ‘不对,应为c==’ ‘

    注意=是赋值号,==才是等号.

    改后如下:

    main()
    {
     char c;
     int a=0,b=0,d=0,e=0;
     while((c=getchar())!=’\n’)
        {
         if((c>=’A'&&c<=’Z')||(c>=’a'&&c< =’z'))
           a=a+1;
         else if(c==’ ‘) b=b+1;
         else if(c>=’0′&&c<=’9′) d=d+1;
         else e=e+1;
        }

     printf(“英文字母有%d个\n”,a);
     printf(“空格有%d个\n”,b);
     printf(“数字有%d个\n”,d);
     printf(“其他字符有%d个\n”,e);
    }

留下一个回复