输入一行字符,输出最长的单词

#include <stdio.h>
void main()
{
 void longest(char string[100]);
 char string[100];
 gets(string);
 longest(string);
}
void longest(char string[100])
{
 char s[20];
 int i,j=0,k=0,t[100],c[100],m,b,a,sum=0,n=0;
 for(i=0;string[i]!='/0';i++) /*将每个单词的长度作为t[k]数组的一个元素*/
 {
  if(string[i]!=' ')j++;
  else  
{
  t[k]=j;
  k++;
  j=0;
   
}
  
 }
 t[k]=j;
 a=k;
 for(m=0,k=0;m<a;m++,k++)/*将数组t[k]中的所有元素复制到另一个数组c[m]*/
  c[m]=t[k];
 for(b=1;b<a;b++)/*找到组t[ ]中的最大值*/
  if(t[b]<t[b-1])
  t[b]=t[b-1];
 for(m=0;c[m]!=t[b-1];m++)/*计算最长的单词前面所有字符的个数,加一是因为有空格*/
  sum=c[m]+1+sum;
 for(n=0,sum=sum;(string[sum]!='/0')&&(string[sum]!=' ');sum++,n++)/*找到最长的单词*/
 {
  s[n]=string[sum];
  printf("%c",s[n]);
 }
 

 printf("/n");
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值