C语言写一个函数,输入一行字符,将此字符串中最短的单词输出
时间: 2024-02-13 19:06:34 浏览: 90
下面是一个C语言函数,可以实现输入一行字符,将此字符串中最短的单词输出。
```
#include <stdio.h>
#include <string.h>
void findShortestWord(char* str) {
int len = strlen(str);
int i, j, start = 0, end = 0;
int shortest_start = 0, shortest_end = len;
for (i = 0; i <= len; i++) {
if (str[i] == ' ' || str[i] == '\0') {
end = i - 1;
if (end - start < shortest_end - shortest_start) {
shortest_start = start;
shortest_end = end;
}
start = i + 1;
}
}
printf("最短的单词是:");
for (j = shortest_start; j <= shortest_end; j++) {
printf("%c", str[j]);
}
printf("\n");
}
int main() {
char str[100];
printf("请输入一行字符:");
fgets(str, 100, stdin);
findShortestWord(str);
return 0;
}
```
函数`findShortestWord`的参数是一个字符串指针,函数内部使用了两个变量`start`和`end`来表示当前单词的起始位置和结束位置,然后遍历整个字符串,当遇到空格或字符串结尾时,就计算当前单词的长度,如果长度小于已知的最短单词,则更新最短单词的起始位置和结束位置。最后输出最短单词即可。
阅读全文