21xrx.com
2025-04-19 04:29:38 Saturday
文章检索 我的文章 写文章
如何使用C语言统计输入字符串中的英文字母、数字和其他字符
2023-06-14 19:55:06 深夜i     --     --
C语言 字符统计 isalpha() isdigit() ispunct()

C语言是一种广泛用于计算机编程的编程语言,它可以进行各种操作,包括字符串操作。在本文中,我们将探讨如何使用C语言统计输入字符串中的英文字母、数字和其他字符。

首先,我们需要使用标准C库中的函数来读取输入的字符串。可以使用fgets()函数从标准输入(stdin)读取一行字符,其语法如下:

fgets(str, n, stdin);

其中,str是存储输入字符的字符串指针,n是最大输入字符数。fgets()函数会自动在输入字符串的结尾添加一个空字符。

接下来,我们需要遍历输入的字符串,对其中的每个字符进行分类。可以使用C语言中的字符分类函数isalpha()、isdigit()和ispunct()来判断字符的类型。isalpha()函数用于判断一个字符是否为字母,isdigit()函数用于判断一个字符是否为数字,ispunct()函数用于判断一个字符是否为标点符号。

在遍历字符的过程中,我们可以使用计数器来记录不同类型字符出现的次数,最终输出结果。

以下是使用C语言统计输入字符串中的英文字母、数字和其他字符的完整代码:

#include 
#include 
int main() {
  char str[100];
  int i, alpha, digit, punct, other;
  // 读取一行字符
  printf("请输入一行字符:");
  fgets(str, sizeof(str), stdin);
  // 统计字符的类型
  alpha = digit = punct = other = 0;
  for (i = 0; str[i] != '\0'; i++) {
    if (isalpha(str[i]))
      alpha++;
    else if (isdigit(str[i]))
      digit++;
    else if (ispunct(str[i]))
      punct++;
    else
      other++;
  }
  // 输出结果
  printf("输入的字符串中共有 %d 个字母,%d 个数字,%d 个标点符号,%d 个其他字符\n",
      alpha, digit, punct, other);
  return 0;
}

通过使用上述方法,我们便可以快速而准确地统计输入字符串中的英文字母、数字和其他字符了。

  
  

评论区