还有没有其他更好的方法可以得到字符串中最大字符串长度???
- #include<stdio.h>
- #include<string.h>
- //定义函数如果是字母返回值1,
- int alpha(char c)
- {
- if(c>='a'&&c<='z'||c>='A'&&c<='Z')
- return 1;
- else
- return 0;
- }
- int main()
- {
- int i;
- int point;//每个单词开始的位置
- int pointer;
- int place;//保存每次比较后最长单词的位置
- int len;//统计每个单词长度
- int length;//保存比较后最长的单词长度
- int num;//单词数量
- char str[1001];
- printf("请输入一个字符串:\n");
- while(gets(str))
- {
- int flag=1;//是个旗帜,判断是空格还是单词
- len=length=num=0;
- for(i=0;i<=strlen(str);i++)
- {
- if(!alpha(str[i]))//str[i]是空格
- {
- if(len>length)
- {
- length=len;
- place=point;
- }
- flag=1;
- len=0;
- }
- else//不是空格
- {
- if(flag)
- {
- point=i;
- num++;
- }
- len++;
- flag=0;
- }
- }
- printf("最大字符串是:");
- for(i=place;i<place+length;i++)
- {
- printf("%c",str[i]);
- }
- printf("\n");
- printf("最大字符串长度:%d\n",length);
- printf("单词个数:%d\n",num);
- break;
- }
- return 0;
- }
复制代码
|
|