输入一行字符,输出最长的单词。
#include<stdio.h>
#include<string.h>
#define N 100
int LongestVoc(char str[]);
int Alpha(char c);
int main(void){
char str[N];
printf("please input a string:");
gets(str);
int pos=LongestVoc(str);
printf("result is ");
for(int i=pos;Alpha(str[i]);i++)
printf("%c",str[i]);
}
int Alpha(char c){
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return 1;
else return 0;
}
int LongestVoc(char str[]){
int len=0,length=0,flag=1,place=0,point;
//flag=0 not a new vocabulary flag=1 is a new vocabulary.
for(int i=0;i<strlen(str);i++){
if(Alpha(str[i])){
if(flag){
point=i;
flag=0;
}
else{
len++;
}
}else{
flag=1;
if(len>=length){
length=len;
place=point;
len=0;
}
}
}
return place;
}
标签:输出,char,int,单词,str,printf,Alpha,最长
From: https://www.cnblogs.com/zhongta/p/18186745