cccccct_1
2020-12-01 14:45
采纳率: 6.3%
浏览 625

c语言输入一行字符,分别统计出其中的英文字母、数字和其它字符的个数(不包括回车换行符)

输入一行字符,分别统计出其中的英文字母、数字和其它字符的个数(不包括回车换行符)。输出统计数字顺序:字母、数字、其它。如果某项统计为0,则不要输出它;最后一行输出后,不要回车换行。

提示: 
对于一行字符的输入,while读入一行字符,这样调试: 
本机调试时用: 
#include <stdio.h> 
int main() 

  char ch; 
  int s=0,i=0; 
  while((ch=getchar())!='\n') 
  { 
    //处理字符ch 
  } 
  return 0; 

 
提交到Jobe时用: 
#include <stdio.h> 
int main() 

  char ch; 
  int s=0,i=0; 
  while(scanf("%c",&ch)!=EOF)
  { 
    //处理字符ch 
  } 
  return 0; 

}

例如:

输入

aP8,m%

结果

capital:3
number:1
other:2
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qq_25376897 2020-12-01 17:02
    #include <stdio.h> 
    
    int main() 
    {
        char ch; 
        int capital=0,number=0,other=0; 
        while((ch=getchar())!='\n') 
        {
            if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'){
                capital++;
            }else if(ch>='0'&&ch<='9'){
                number++;
            }else{
                other++;
            }
        }
        if(capital>0){
            printf("capital:%d\n",capital);
        }
        if(number>0){
            printf("number:%d\n",number);
        }
        if(other>0){
            printf("other:%d\n",other);
        }
        return 0; 
    }
    评论
    解决 无用 1
    打赏 举报