#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;
}