JAVA输出句内最长单词,输入任意一个英文句子,输出最长单词。

这是当初我学小强那本书的一道题,看看吧

#include

int i,j,n=0,m=0,max,x1=0,y1=0;

char str1[1000][1000],aa[10000];

int str2[1000];

int main()

{

printf("输入字符以空格结尾\n非字母算作空格\n");

gets(aa);

for( i=0;(aa[i])!='\0';i++)

{

if(((aa[i]>=1)&&(aa[i]<=64))

||((aa[i]>=91)&&(aa[i]<96))

||((aa[i]>=123)&&(aa[i]<=255)))

{

if(i==0) goto jump;//首字符为空格跳出

if(((aa[i-1]>=65)&&(aa[i-1]<=90))

||((aa[i-1]>=97)&&(aa[i-1]<=122)))//连续按空格无效

{

if(n>=max)

{

max=n;//单词最大长度

}

n=0;m++;

}

}

jump: ;

if(((aa[i]>=65)&&(aa[i]<=90))

||((aa[i]>=97)&&(aa[i]<=122)))

{

str1[m][n]=aa[i];                        //将单词赋给新数组

n++;                                //没按下一个非空格加一

str2[m]=n;                        //定义新数组储存每个单词长度

}

}

for(j=0; j

{        if(str2[j]==max)//找到第几个单词长度=最长

printf("最长单词\t%s\n长度\t%d\n位置:第%d个\n\n",

str1[j],max,j+1);

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值