#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char a[100];
int i,j=0,n=-1,k=0,n1,m1,y;
printf("Input a sentence:");
gets(a);
for(i=0;i!='\0';i++){
if(a[i]!=' ') {j++,n++;}
else if(a[i]==' '){
if(j>k) {k=j,n1=n,m1=n-j+1;}
j=0;
n++;}
}
for(y=m1;y<=n1;y++){
printf("%c",a[y]);
}
return 0;
}

输入一句话,输出最长的单词,代码输出不对,求大佬指正
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 「已注销」 2020-12-14 22:16关注
#include<stdio.h> #include<math.h> #include<string.h> int main() { char a[100] = "hello world is the first word!!"; int maxstart = 0, maxlen = 0,i = 0,iter = 0,iterlen = 0; for(;a[i] != '\0'; i++) { if(a[i] == ' ') { iterlen = 0; iter = i + 1; continue; } iterlen++; if(maxlen < iterlen) { maxstart = iter; maxlen = iterlen; } } a[maxstart + maxlen] = 0; printf("%s\n",a+maxstart); return 0; }
解决 无用评论 打赏 举报