输入一串字符统计英文字母、数字、空格和其他字符的两种代码

1.采用字符串处理的函数来解决这个问题
代码如下:

#include
#include
int main()
{
 int  ch_sum = 0;
 int space_sum = 0;
 int number_sum = 0;
 int other_sum = 0;
 char c = 0;
 while ((c=getchar())!='\n')
 {
  if (isalpha(c))
  {
   ch_sum++;
  }
  else if(isdigit(c))
  {
   number_sum++;
  }
  else if (isblank(c))
  {
   space_sum++;
  }
  else
  {
   other_sum++;
  }
 }
 printf("英文字符有:%d个\n数字有:%d个\n空格有:%d个\n其他有:%d个\n",ch_sum,number_sum,space_sum,other_sum)    
  return 0;
}

运行结果输入一串字符统计英文字母、数字、空格和其他字符的两种代码_第1张图片
在书写这个代码的时候千万不要忘记加上#include这个头文件,否则编译器会报错。
2.通常的写法

#include
int main()
{
 int  ch_sum = 0;
 int space_sum = 0;
 int number_sum = 0;
 int other_sum = 0;
 char c = 0;
 while ((c=getchar())!='\n')
 {
  if (c>='a'&&c<='z'||c>='A'&&c<='Z')
  {
   ch_sum++;
  }
  else if(c>='0'&&c<='9')
  {
   number_sum++;
  }
  else if (c=' ')
  {
   space_sum++;
  }
  else
  {
   other_sum++;
  }
 }
 printf("英文字符有:%d个\n数字有:%d个\n空格有:%d个\n其他有:%d个\n",ch_sum,number_sum,space_sum,other_sum);
 return 0;
}

通过对比无论是代码的复杂程度,还是代码量来说,还是方案一比较优秀。熟悉字符库函数可以大大降低劳动量。

你可能感兴趣的:(输入一串字符统计英文字母、数字、空格和其他字符的两种代码)