c语言 一道编程题
2个回答
展开全部
/*
此程序:
1.只能正确处理英文和空格
2.只能输出第一个最长的单词
3.可以根据具体要求完善
*/
#include<stdio.h>
int main()
{
int i,j,Maxlen=0,len,I;
char s[100],*str;
gets(s);
for(i=0;s[i]!='\0';i++)
{
while(s[i]==' ') i++;
for(j=i+1;s[j]!=' '&&s[j]!='\0';j++);
len=j-i;
if(Maxlen<len)
{
Maxlen=len;
I=i;
}
i=j-1;
}
for(i=I;i<I+Maxlen;i++)
printf("%c",*(s+i));
return 0;
}
此程序:
1.只能正确处理英文和空格
2.只能输出第一个最长的单词
3.可以根据具体要求完善
*/
#include<stdio.h>
int main()
{
int i,j,Maxlen=0,len,I;
char s[100],*str;
gets(s);
for(i=0;s[i]!='\0';i++)
{
while(s[i]==' ') i++;
for(j=i+1;s[j]!=' '&&s[j]!='\0';j++);
len=j-i;
if(Maxlen<len)
{
Maxlen=len;
I=i;
}
i=j-1;
}
for(i=I;i<I+Maxlen;i++)
printf("%c",*(s+i));
return 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:");
for(i=longest(line);alphabetic(line[i];i++)
printf("%c",line[i]);
}
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);
}
#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:");
for(i=longest(line);alphabetic(line[i];i++)
printf("%c",line[i]);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询