找最长单词的程序
程序代码:
//编写一个程序,输入一行字符,将此字符中最长的单词输出 //flag表示单词是否开始,flag=0表示未开始,flag=1表示单词已经开始 //len表示单词已累计的字母个数 //length代表当前单词中最长单词的长度 //point代表当前单词的起始位置(用下标表示) //place代表最长单词的起始位置 //函数alphabetic的作用是判断当前字符是否为字符,若是返回1,不是返回0 #include<stdio.h> #include<string.h> void main() { int alphabetic(char); int longest(char[]); int i; char line[100]; printf("input one line:\n"); gets(line); printf("The longest word is :\n"); for(i=longest(line);alphabetic(line[i]);i++) printf("%c",line[i]); printf("\n"); } int alphabetic (char c) { if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) return(1); else return(0); } int longest(char string[]) { int len=0,i,length=0,flag=1,place=0,point; for(i=0;i<=strlen(string);i++) if(alphabetic(string[i])) if(flag) { point=i; flag=0; } else len++; else { flag=1; if(len>=length) { length=len; place=point; len=0; } } return (place); }