我编了一个程序,统计一段字符中的字母字符,数字字符、空格字符和其他字符的个数。程序运行环境:Windows2000, VC++6.0。程序如下:
#include <stdio.h>
void StatisticsSymbol2(char *pChar)
{
int i=0;
int NumberCount=0,LetterCount=0,BlankCount=0,OtherCount=0; // 初始化各个统计变量
for(i=0;pChar[i]!='\0';i++)
{
if(( pChar[i]>47 )&&( pChar[i]<58 ) ) // 假如是数字,数字计数加1
{
NumberCount++;
continue;
}
if( ( pChar[i]>64 && pChar[i]<91 ) ||( pChar[i]>96 && pChar[i]<123 ))/* 假如是字母,字母计数加1 */
{
LetterCount++;
continue;
}
if ( pChar[i]==' ') // 假如是空格,空格计数加1
{
BlankCount++;
continue;
}
OtherCount++; // 若都不是上述字符,其它字符加1
}
printf("数字字符数为%d\n",NumberCount );
printf("字母字符数为%d\n",LetterCount );
printf("空格字符数为%d\n",BlankCount );
printf("其它字符数为%d\n",OtherCount );
}
int main()
{
char Txtchar[100];
printf("请输入一段字符:\n");
gets(Txtchar);
StatisticsSymbol2(Txtchar);
return 1;
}
值得注意的是,在输入字符用到了gets(Txtchar)而不是 scanf("%s",Txtchar),gets函数与scanf的区别:gets可以接受包含空格符的字符串而scanf不可以.
评论