我编了一个程序,统计一段字符中的字母字符,数字字符、空格字符和其他字符的个数。程序运行环境: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不可以.

评论