c语言 求出最长字符串
描述:求出字符串中最长的字符串。每个字符串长度在100以内,且全为小写字母
输入:用空格分隔的字符串。每个字符串长度在100以内,且全为小写字母。
输出:长度最长的字符串
例题:输入:one two three four five 输出:three
问题:没有输出
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char a[9999];
int b[100],k=0;
gets(a);
int len=strlen(a);//算出数组a的长度(包括/0)
for(int i=0;i<len;i++){
if(a[i]=='/0'){//遇到空格时,数组b存长度
b[k]=i-1;
k++;
}
}
int max=b[0],p;
for(int j=0;j<k;j++){
if(b[j]>=max){//把数组b最大值找出来,最长的就是j+1的字符串
max=b[j];
p=j;
}
}
int sum=0;//sum是最长字符串之前的字符个数
for(int j=0;j<p;j++){
sum+=b[j];
}
sum+=p-1;
for(int i=sum+1;i<=sum+b[p];i++){
printf("%c",a[i]);//从sum+1开始打印,打印出最长字符串
}
return 0;
}