fork(1) download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void findShortestWord(const char* in, char* out)
  5. {
  6. int len = strlen(in);
  7.  
  8. int beginWord = 0;
  9. int lengthWord = 0;
  10.  
  11. for (int i = 0; i < len; i++)
  12. {
  13. while ( (in[i] == ' ') && ( in[i] != '\0') ) i++;
  14. int begin = i;
  15. while ( (in[i] != ' ') && (in[i] != '\0') ) i++;
  16. int end = i;
  17. char tmp[256];
  18. for(int j = begin, k=0; j < end; j++, k++)
  19. tmp[k] = in[j];
  20. tmp[end - begin] = '\0';
  21.  
  22. int currentLen = end - begin;
  23. if (currentLen > lengthWord)
  24. {
  25. lengthWord = currentLen;
  26. beginWord = begin;
  27. }
  28. }
  29.  
  30. for (int i = beginWord, k = 0; i < beginWord + lengthWord; i++, k++)
  31. out[k] = in[i];
  32.  
  33. out[lengthWord] = '\0';
  34. }
  35.  
  36.  
  37. int main(int argc, char* argv[])
  38. {
  39. char out[256];
  40. findShortestWord("a b sdf", out);
  41. printf("%s \n", out);
  42.  
  43. findShortestWord(" addf fd ", out);
  44. printf("%s \n", out);
  45.  
  46. findShortestWord(" ad df dfs fgadfgfgdfg fd ", out);
  47. printf("%s \n", out);
  48.  
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 16048KB
stdin
Standard input is empty
stdout
sdf 
addf 
fgadfgfgdfg