楼上的何必不指出思路啊!
分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在把这个长度的单词弄出来!
在编程之前,首先明确目标,理清思路,从上往下把需要的都写出来,这样长期的积累就能写出好程序了,祝愿楼主学有所成!
PS:仅代表个人观点,如有错误,谢谢指出!
还有楼主要找的是最长的单词,又不是找到ASC||最大的字母,不住楼上的例题,我有点理解不了,寡闻了吧,我!
#include
#include
char *FindLongWord(char *szInBuff)
{
static char szLongWord[1024] = {0};
char *lpstr;
const char *delim = ",.?;'\"<>{!}[]\n ";
lpstr = strtok(szInBuff, delim);
sprintf(szLongWord, "%s", lpstr);
while((lpstr = strtok(NULL, delim)) != NULL)
{
if (strlen(lpstr) > strlen(szLongWord))
{
sprintf(szLongWord, "%s", lpstr);
}
lpstr = strtok(NULL, delim);
}
return szLongWord;
}
int main()
{
char szInBuff[1024] = {0};
char *lpszBestLongWord = NULL;
printf("输入一行英文句子,以回车结束:");
gets(szInBuff);
szInBuff[strlen(szInBuff)] = ' ';
lpszBestLongWord = FindLongWord(szInBuff);
printf("%s\n", lpszBestLongWord);
return 0;
}
不明白的加我msn:wy030@sina.com
#include
main()
{char s[100];
int p[10]={0},i,j=1,k=0,max;
int L;
gets(s);
L=strlen(s);
for(i=0;i
max=p[1];
for(i=1;i
for(i=1;i
{max=(p[i]-p[i-1]);k=i;}
for(i=p[k-1];i<=p[k];i++)
printf("%c",s[i]);
getch();
}
输入行的最后 要有一个空白 才行,例如
123 444 ggggg
ggggg 后 要有一个空白 才行
让我想想,,