用c语言编程,编写一个函数,输入一行字符,将字符串中最长的单词输出。

如题所述

第1个回答  2016-11-29
#include <stdio.h>
char *longest(char *p){
    char *t,max,n;
    while(*p==' ') p++;
    for(max=n=0,t=p;*p;p++)
        if(*p!=' ')
            n++;
        else{
            if(max<=n)
                max=n,t=p-n;
            n=0;
        }
    return max<=n ? p-n : t;
}
int main(void){
    char str[1000],*p;
    scanf("%[A-Z a-z]",str);
    for(p=longest(str);*p && *p!=' ';printf("%c",*p++));
    printf("\n");
    return 0;
}

本回答被提问者和网友采纳
相似回答