📅  最后修改于: 2023-12-03 15:27:09.031000             🧑  作者: Mango
我们经常需要在字符串中计算出不同类型字符的数量,比如字母、数字和特殊字符等。在 C 语言中通过遍历整个字符串来实现这个功能是相对简单的,本文将介绍如何用 C 编写这个程序。
#include <stdio.h>
int main()
{
char str[100];
int i, digits=0, letters=0, specials=0;
printf("Please enter a string:\n");
scanf("%[^\n]s", str); // 读取整个字符串直到换行字符
for (i=0; str[i]!='\0'; i++){
if (str[i]>='0' && str[i]<='9'){
digits++;
}
else if ((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z')){
letters++;
}
else{
specials++;
}
}
printf("Digits: %d\n", digits);
printf("Letters: %d\n", letters);
printf("Specials: %d\n", specials);
return 0;
}
str
来存储输入的字符串,整数类型变量 digits
、letters
和 specials
用来统计相应类型字符的数量。Please enter a string:\n
并从命令行输入字符串,并用 scanf
函数将整个字符串读入到 str
数组中。%[^\n]s 表示读取字符串中的所有字符直到换行符。for
循环遍历 str
数组中的每个字符,依次进行类型判别。digits++
,表示统计了一个数字字符。letters++
,表示统计了一个字母字符。specials++
,表示统计了一个特殊字符。digits
、letters
和 specials
。本文介绍了用 C 编写程序来计算字符串中字母、数字和特殊字符的总数。主要思路是利用循环遍历字符串中的每个字符,按照其类型进行计数。我们提供了完整的代码实现,并解释了代码的每一部分。