编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。

来源:互联网 发布:minotepro 网络制式 编辑:程序博客网 时间:2024/04/24 03:51
    char str[] = "I am a handsome man";
    int maxlength = 0;//存储最长单词长度
    int length = 0;   //用来记录单词的长度
    int maxindex = 0;//最长单词开始下标
    //使用while循环对字符串进行遍历
    int i = 0;
    while (str[i] != '\0') {
        if (str[i] != ' ') {
            length++;
        } else {
            //遇到空格执行
            if (length > maxlength) {
                maxlength = length;
                maxindex = i - maxlength;
            }
            length = 0;  //读到空格时,length清零,记录下一个单词的长度
        }
        i++;
    }
    if (length > maxlength) {
        maxlength = length;//缺少一步和maxilength比较
        maxindex = i - maxlength;
    }
    
    printf("最大长度=%d maxindex= %d\n", maxlength, maxindex);
    //输出最长单词
    for (int i = maxindex; i < maxindex + maxlength; i++) {
        printf("%c", str[i]);
    }


0 0
原创粉丝点击