源作者:记与思
下面程序的运行结果是char a[80]题目:输入一个英文句子,长度不超过200个字符。其中可包含的符号只有逗号","和句号"."。
输出句子中最长的一个单词。如果有多个这样的单词,输出最后出现的。
输入:多组数据,每行为一个句子,其中符号"."不代表句子结束,譬如人名中可含有".”。
输出:每行一个最长单词。这里单词的定义是仅由连续的字母组成的字符串。
程序:
#include
#include
#define N 200+1
char s[N], max[N];
int main(void)
{
char *p;
int maxlen, len;
while(gets(s) != NULL) {
maxlen = 0;
max[0] = '0';
p = strtok(s, " ,.");
下面程序的运行结果是char a=morningwhile(p) {
len = strlen(p);
if(len >= maxlen) {
maxlen = len;
strcpy(max, p);
}
p = strtok(NULL, " ,.");
}
printf("%s ", max);
}
return 0;
} // strtok() 把字符串切成单词的问题
C 库函数char *strtok(char *str, const char *delim)分解字符串str为一组字符串,delim为分隔符。
灵活运用已有函数可以轻松解决很多问题。