A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

急求,一点思路都没

1 个回复

倒序浏览
int main(int argc, const char * argv[]) {

   
    // 定义一个字符数组,用来接收控制台的输入
    char inputStr[100];
    printf("Please input a string:\n");
    // 接收控制台输入,scanf和gets,推荐gets
    gets(inputStr);
   
    // length表示字符串的长度
    int length = (int)strlen(inputStr);
    // 标志位,表示是否是上一个单词结束
    int isWord = 0;
   
    // 记录每个单词的长度
    int wordLength = 0;
    int maxLength = 0;
   
    for (int i = 0; i < length; i++) {
        char c = inputStr;
        
        // 是一个空格,空格表示上一个单词结束
        if (c == ' ') {
            isWord = 0;
        }
        // 说明开始了一个新的单词,处理单词首字母
        else if (!isWord) {
            // 标记为开始一个新的单词
            isWord = 1;
            
            // 开始计算当前单词的长度,把长度重置为0
            wordLength = 0;
            // 单词的首字母属于单词的一部分,所以长度+1
            wordLength++;
        }
        // 新单词中除了首字母之外的其它字符
        else if (isWord) {
            
            wordLength++;
            
            // 此处说明上一个单词已经结束了,可以拿到上一个单词的长度,和最大的长度进行比较
            if (wordLength > maxLength) {
                maxLength = wordLength;
            }

        }
    }
   
    printf("%d\n", maxLength);
   
    return 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马