#include <stdio.h>
#include <string.h>
void findShortestWord(const char* in, char* out)
{
int len = strlen(in);
int beginWord = 0;
int lengthWord = 0;
for (int i = 0; i < len; i++)
{
while ( (in[i] == ' ') && ( in[i] != '\0') ) i++;
int begin = i;
while ( (in[i] != ' ') && (in[i] != '\0') ) i++;
int end = i;
char tmp[256];
for(int j = begin, k=0; j < end; j++, k++)
tmp[k] = in[j];
tmp[end - begin] = '\0';
int currentLen = end - begin;
if (currentLen > lengthWord)
{
lengthWord = currentLen;
beginWord = begin;
}
}
for (int i = beginWord, k = 0; i < beginWord + lengthWord; i++, k++)
out[k] = in[i];
out[lengthWord] = '\0';
}
int main(int argc, char* argv[])
{
char out[256];
findShortestWord("a b sdf", out);
printf("%s \n", out);
findShortestWord(" addf fd ", out);
printf("%s \n", out);
findShortestWord(" ad df dfs fgadfgfgdfg fd ", out);
printf("%s \n", out);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnZvaWQgZmluZFNob3J0ZXN0V29yZChjb25zdCBjaGFyKiBpbiwgY2hhciogb3V0KQp7CglpbnQgbGVuID0gc3RybGVuKGluKTsKCglpbnQgYmVnaW5Xb3JkID0gMDsKCWludCBsZW5ndGhXb3JkID0gMDsKCglmb3IgKGludCBpID0gMDsgaSA8IGxlbjsgaSsrKQoJewoJCXdoaWxlICggKGluW2ldID09ICcgJykgJiYgKCBpbltpXSAhPSAnXDAnKSAgKSBpKys7CgkJaW50IGJlZ2luID0gaTsKCQl3aGlsZSAoIChpbltpXSAhPSAnICcpICYmIChpbltpXSAhPSAnXDAnKSApIGkrKzsKCQlpbnQgZW5kID0gaTsKCQljaGFyIHRtcFsyNTZdOwoJCWZvcihpbnQgaiA9IGJlZ2luLCBrPTA7IGogPCBlbmQ7IGorKywgaysrKQoJCQl0bXBba10gPSBpbltqXTsKCQl0bXBbZW5kIC0gYmVnaW5dID0gJ1wwJzsKCQkKCQlpbnQgY3VycmVudExlbiA9IGVuZCAtIGJlZ2luOwoJCWlmIChjdXJyZW50TGVuID4gbGVuZ3RoV29yZCkKCQl7CgkJCWxlbmd0aFdvcmQgPSBjdXJyZW50TGVuOwoJCQliZWdpbldvcmQgPSBiZWdpbjsKCQl9Cgl9CgoJZm9yIChpbnQgaSA9IGJlZ2luV29yZCwgayA9IDA7IGkgPCBiZWdpbldvcmQgKyBsZW5ndGhXb3JkOyBpKyssIGsrKykKCQlvdXRba10gPSBpbltpXTsKCglvdXRbbGVuZ3RoV29yZF0gPSAnXDAnOwp9CgoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKewoJY2hhciBvdXRbMjU2XTsKCWZpbmRTaG9ydGVzdFdvcmQoImEgYiBzZGYiLCBvdXQpOwoJcHJpbnRmKCIlcyBcbiIsIG91dCk7CgkKCWZpbmRTaG9ydGVzdFdvcmQoIiAgIGFkZGYgICBmZCAgIiwgb3V0KTsKCXByaW50ZigiJXMgXG4iLCBvdXQpOwoJCglmaW5kU2hvcnRlc3RXb3JkKCIgIGFkICBkZiAgZGZzIGZnYWRmZ2ZnZGZnIGZkICAgICAiLCBvdXQpOwoJcHJpbnRmKCIlcyBcbiIsIG91dCk7CgkKCglyZXR1cm4gMDsKfQ==