c语言字符串函数难题,一个C语言的问题

编写一个函数,输入一行字符,将字符串中最长的单词输出

我看了标准答案下,标准答案是以下代码:

#include

#include

#include

void main()

{

编写一个函数,输入一行字符,将字符串中最长的单词输出

我看了标准答案下,标准答案是以下代码:

#include

#include

#include

void main()

{

int alphabetic(char);

int longest(char []);

int i;

char line[100];

printf("input onr line:\n");

gets(line);

printf("The longest word is:");

for(i=longest(line);alphabetic(line[i]);i++)

printf("%c",line[i]);

printf("\n");

getch();

}

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);

}

这个代码在alphabetic(string[i])返回0的时候,并且len

哪个大哥能解决我的疑问啊?我完全是自学,非常需要你们的帮助,谢谢了啊

展开

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值