小黄练编程 发表于 2021-11-27 20:45:39

求输入一句英文,统计字母,数字,其他符号个数?数字部分如何输出!

#include<stdio.h>
main()
{
        int i=0,j=0,x=0;
        char ch;
        while((ch=getchar())!='\n')
        {
                scanf("%c",&ch);
                if(ch>'A'&& ch<'z')
                        i++;
                elseif(ch>0 && ch<9)

                        j++;
                else
                        x++;
        }
        printf("字母数=%d\n数字数=%d\n其他符号数=%d\n",i,j,x);
}

番杰 发表于 2021-11-27 20:56:15

本帖最后由 番杰 于 2021-11-28 09:51 编辑

#include<stdio.h>
int main(void)
{
      int i=0,j=0,x=0;
      char ch;
      while((ch=getchar())!='\n')
      {
                if((ch >= 'A'&& ch <= 'Z') || (ch >= 'a'&& ch <= 'z'))
                        i++;
                elseif(ch>='0' && ch<='9')//应该是和字符‘0’和‘9’进行比较,即它们对应的ASCII码值,而不是数值
                        j++;
                else
                        x++;
      }
      printf("字母数=%d\n数字数=%d\n其他符号数=%d\n",i,j,x);
      return 0;
}

小黄练编程 发表于 2021-11-27 21:18:40

番杰 发表于 2021-11-27 20:56


不单单输出数字数不出,连字母,其他符号,结果也会错{:5_99:}

jackz007 发表于 2021-11-27 21:23:10

#include<stdio.h>
main()
{
      int i=0,j=0,x=0;
      char ch;
      while((ch=getchar())!='\n')
      {
                if((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) i ++ ;
                elseif(ch >= '0' && ch <= '9') j ++                         ;
                elsex ++                                                    ;
      }
      printf("字母数 = %d\n 数字数 = %d\n 其他符号数 = %d\n" , i , j , x)   ;
}

小黄练编程 发表于 2021-11-27 21:52:14

本帖最后由 小黄练编程 于 2021-11-27 21:54 编辑

jackz007 发表于 2021-11-27 21:23


我刚改了和这差不多,scanf删了,0和9都加了’   ‘   还是错,为什么一用你的就对了,我瞅半天了,也没发现还改了哪里。

小黄练编程 发表于 2021-11-27 21:53:46

小黄练编程 发表于 2021-11-27 21:52
我刚改了和这差不多,scanf删了,0和9都加了’   ‘   还是错,为什么你、一用你的就对了,我瞅半天 ...

还有字母也改了,

番杰 发表于 2021-11-28 09:17:08

小黄练编程 发表于 2021-11-27 21:18
不单单输出数字数不出,连字母,其他符号,结果也会错

啊这,没看到前面的还有一个scanf();
去掉这个就行;
因为你while中:getchar()已经实现键盘输入的功能
页: [1]
查看完整版本: 求输入一句英文,统计字母,数字,其他符号个数?数字部分如何输出!