<span style="font-size:24px;">printf("请输入一行字符串:\n");
char str[] = "sdjfias jidosafn jionassf jiinfdan jijinasnf jijsoafdi jioasdfn jaoisndfi ";
gets(str);
unsigned long count = strlen(str);
printf("字符串长度%lu\n",count);//字符串长度
int quantity = 0;//用来存储单词数量
for (int i = 0; i < count; i++) {
if (str[i] == ' ') {
quantity += 1;
}
}
printf("原字符串有%d个单词\n",quantity);//得出原字符串有几个单词
int b[10000] = {0},a = 1,c[10000] = {0},d = 0;
for (int i = 0; i < count; i++) {
if (str[i] == ' ') {
b[a] = i;
printf("%d ",b[a]);
a++;
}
}printf("\n");
//记录空格的位置
for (int j = 0; j < quantity; j++) {
b[0] = 0;
c[d] = b[j + 1] - b[j] - 1;
printf("%d ",c[d]);
d++;
}printf("\n");
//记录每个单词的长度
int max = 0;//用来接受单词长度的最大值
for (int k = 0; k < quantity - 1; k++) {
if (c[k] > max) {
max = c[k];
}
}printf("最长单词长度为%d ",max);
printf("\n");
//找出单词长度最大的那个
int e = 0,f = 0;
for (int i = 0; i < count; i++) {
if (b[i + 1] - b[i] - 1 == max ) {
e = b[i];
f = b[i + 1];
for (int i = e + 1;i < f; i++) {
printf("%c",str[i]);
}
printf("\n");
}
}//输出单词长度最大的单词
</span>