一个C语言编程的题目。
用一个函数来实现将一行字符中最长的单词输出。要求主程序从标准输入设备读入一串字符,并将此字符串传递给该函数,函数处理后将最长的单词返回给主调函数。比如What are you doing?
输出doing.
----------------解决方案--------------------------------------------------------
这个好难啊,下次我一定回一下程序上面来哦,目前水平不够哦。
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int word_len(char *s_word)
{
int i_len=0;
while (*s_word!=' '&&*s_word!=0) {
i_len++;
s_word++;
}
return i_len;
}
int main()
{
char s_string[200];
char *p=s_string-1; /*下面p=strchr(p+1,' ')保证开始的时候p指向
字符串第一个字符所以p=s_string-1*/
char *p_current_longest=s_string;
gets(s_string);
do {
p=strchr(p+1,' ');
if (p!=NULL) {
if (word_len(p_current_longest)<word_len(p+1))
p_current_longest=p+1;
}
} while (p!=NULL);
while (*p_current_longest!=' '&&*p_current_longest!=0) {
putchar(*p_current_longest);
p_current_longest++;
}
getchar();
return 0;
}
----------------解决方案--------------------------------------------------------