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

来源:互联网 发布:wcdma td scdma 知乎 编辑:程序博客网 时间:2024/04/26 02:45
    char str[255] = {0};    printf("请输入一个字符串:\n");    scanf("%[^\n]", str);//意思是非'\n'。也就是说只要没有遇到换行就继续输入,当遇到换行符的时候此语句结束。而默认情况是遇到换行语句执行结束,但是str的值只是第一个空格前的值。但这样写,按回车时scanf执行完,中间所有内容包括空格都会输入到str中去。//    gets(str);    int maxLength = 0, maxIndex = 0;    int length = 0;    int i = 0;    while (str[i] != '\0') {        if (str[i] != ' ') {            length++;        } else {            if (maxLength < length) {                maxLength = length;                maxIndex = i - maxLength;            }            length = 0;        }        i++;    }    if (maxLength < length) {        maxLength = length;        maxIndex = i - maxLength;    }    for (int j = maxIndex; j < maxIndex + maxLength; j++) {        printf("%c", str[j]);    }

0 0
原创粉丝点击