您的位置:首页 > 其它

【c实现,vc6调试通过】给出一字符串指针,计算出字符串指针中单词数

2016-04-28 16:12 471 查看
1 #include <stdio.h>
2
3 /*
4     给出一字符串指针,计算出字符串指针中单词数,
5     单词不包括'.',',',';','?','_','"',由0-9数字或26个字母组成
6     by zww @ 2013.09.26
7     vc 6.0编译通过
8 */
9
10 unsigned int get_string_word_cnt(const char* pStr)
11 {
12     unsigned int iCnt= 0;
13     unsigned int iCharCnt = 0;
14     const char* p = pStr;
15
16     if (NULL == pStr)
17     {
18         return 0;
19     }
20
21     while ('\0' != *p)
22     {
23         if (('.' == *p)
24             || (',' == *p)
25             || (';' == *p)
26             || ('?' == *p)
27             || (' ' == *p)
28             || ('_' == *p)
29             || ('"' == *p))
30         {
31             printf("[%c]",*p);
32             iCharCnt=0;
33         }
34         else if (!((*p >= 'a'&& *p<='z')
35             || (*p >='A' && *p<='Z')
36             || (*p >= '0' && *p <='9')))
37         {
38             printf("[%c]",*p);
39             iCharCnt = 0;
40         }
41         else if (0 == iCharCnt)
42         {
43             iCharCnt++;
44             iCnt++;
45         }
46
47         p++;
48     }
49
50     return iCnt;
51 }
52
53
54
55 int main()
56 {
57     char * str1 = "hello world.1...2";
58     char * str2 = "hello world.sd,fg!@!$!$!!!!!!!!!!!!hj.";
59     char * str3 = "hello world.fdfg)(*&&&*(hjdfh?>><>,...";
60     char * str4 = ".hello world.12";
61     int i = 0;
62     i = get_string_word_cnt(str1);
63     printf(" %d\r\n",i);
64     i = get_string_word_cnt(str2);
65     printf(" %d\r\n",i);
66     i = get_string_word_cnt(str3);
67     printf(" %d\r\n",i);
68     i = get_string_word_cnt(str4);
69     printf(" %d\r\n",i);
70
71     return 0;
72 }
73
74 /**
75     显示结果如下:
76 [ ][.][.][.][.]4
77 [ ][.][,][!][@][!][$][!][$][!][!][!][!][!][!][!][!][!][!][!][!][.]5
78 [ ][.][)][(][*][&][&][&][*][(][?][>][>][<][>][,][.][.][.]4
79 [.][ ][.]3
80 Press any key to continue
81 **/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: