牛肉我刚开始 发表于 2022-4-2 22:28:47

大小写字母怎么区别,求助!!!谢谢

分别用while、do-while语句编写程序实现:输入一串字符,以“#”结束,输出其中小写字母个数、大写字母个数以及数字个数。

jackz007 发表于 2022-4-2 22:53:58

#include <stdio.h>

int main(void)
{
      char x                                                                                                       ;
      int a , b , c                                                                                                ;
      a = b = c = 0                                                                                          ;
      while((x = getchar()) != '#' ) {
                if(x >= 'a' && x <= 'z') a ++                                                             ;
                else if(x >= 'A' && x <= 'Z') b ++                                                   ;
                else if(x >= '0' && x <= '9') c ++                                                      ;
      }
      printf("小写字母 : %d 个,大写字母:%d 个,数字字符:%d 个\n" , a , b , c) ;      
}
#include <stdio.h>

int main(void)
{
      char x                                                                                                       ;
      int a , b , c                                                                                                ;
      a = b = c = 0                                                                                          ;
      do {
                x = getchar()                                                                                     ;
                if(x >= 'a' && x <= 'z') a ++                                                             ;
                else if(x >= 'A' && x <= 'Z') b ++                                                   ;
                else if(x >= '0' && x <= '9') c ++                                                      ;
      } while (x != '#')                                                                                       ;
      printf("小写字母 : %d 个,大写字母:%d 个,数字字符:%d 个\n" , a , b , c) ;      
}

牛肉我刚开始 发表于 2022-4-3 13:25:25

jackz007 发表于 2022-4-2 22:53


//第一种
#include <stdio.h>
void main()
{
        char x;
        x=getchar();
        int a=0,b=0,c=0;
        while(x!='#')
        {
                if(x>='a'&&x<='z')
                a++;
                else if(x>='A'&&x<='Z')
                b++;
                else if(x>='0'&&x<='9')
                c++;
        }
        printf("小写字母个数:%d大写字母个数:%d数字个数:%d",a,b,c);
}

//第二种
/*#include <stdio.h>
void main()
{
        char x;
        int a=0,b=0,c=0;
        while((x=getchar())!='#')
        {
                if(x>='a'&&x<='z')
                a++;
                else if(x>='A'&&x<='Z')
                b++;
                else if(x>='0'&&x<='9')
                c++;
        }
        printf("小写字母个数:%d,大写字母个数:%d,数字个数:%d",a,b,c);
}*/

第二种x=getchar()放在表达式里面可以运行。
但是为什么第一种的x=getchar()放在char x;后面就会出错?
显示如下:
Compiling...
54456.c
D:\cYUYAN\Microsoft Visual Studio\c++\45446\54456.c(21) : error C2143: syntax error : missing ';' before 'type'
D:\cYUYAN\Microsoft Visual Studio\c++\45446\54456.c(25) : error C2065: 'a' : undeclared identifier
D:\cYUYAN\Microsoft Visual Studio\c++\45446\54456.c(27) : error C2065: 'b' : undeclared identifier
D:\cYUYAN\Microsoft Visual Studio\c++\45446\54456.c(29) : error C2065: 'c' : undeclared identifier
执行 cl.exe 时出错.

54456.obj - 1 error(s), 0 warning(s)

jackz007 发表于 2022-4-3 14:50:14

牛肉我刚开始 发表于 2022-4-3 13:25
//第一种
#include
void main()


      应该是 char x 语句最后的分号被丢掉了。
页: [1]
查看完整版本: 大小写字母怎么区别,求助!!!谢谢