字符数组的一个问题
要求:从键盘输入一行字母,查找该行字母最长的单词#include<stdio.h>
int main()
{
char line[100];
int i=0,a,b=0,c,max=0;
while((line[i++]=getchar())!='\n')
line[i]='\0';
for(i=0;line[i]!='\0';i++){
if(line[i]>='a'&&line[i]<='z')
b++;
else
{
if(max<b)
max=b;
c=i;b=0;}
}
for(i=c-max;i<c;i++)
printf("%c",line[i]);
return 0;}
大家看看哪儿不对,请多多指教;另外
#include<stdio.h>
#include<stdlib.h>
int main()
{
char line[100];
int maxlen=0,i=0,max=0,end=0;
int wordflag=0;
while((line[i++]=getchar())!='\n');
line[i]='\n';
for(i=0;line[i]!='\n';i++){
if(line[i]<='z'&&line[i]>='a')
{
if(!wordflag)
wordflag=1;
maxlen++;}
else{
wordflag=0;
if(max<maxlen)
{
max=maxlen;
end=i;}
maxlen=0;}
}
for(i=end-max;i<end;i++)
printf("%c",line[i]);
printf("\n");system("pause");
return 0;}
这是我们书上的,有一点半天弄不清楚,就是wordflag有什么用,请多指教
[ 本帖最后由 panrui0512 于 2014-2-20 15:34 编辑 ]