fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX_LEN 256
  5. #define MAX_WORDS 50
  6.  
  7. int main() {
  8. char str[MAX_LEN];
  9. char words[MAX_WORDS][MAX_LEN];
  10. int wordCount = 0;
  11.  
  12. printf("Введіть речення: ");
  13. fgets(str, MAX_LEN, stdin);
  14. str[strcspn(str, "\n")] = 0;
  15.  
  16. char *token = strtok(str, " ,.!?;:");
  17. while (token != NULL && wordCount < MAX_WORDS) {
  18. strcpy(words[wordCount], token);
  19. wordCount++;
  20. token = strtok(NULL, " ,.!?;:");
  21. }
  22.  
  23. int maxLen = 0, minLen = MAX_LEN;
  24. char longest[MAX_LEN] = "", shortest[MAX_LEN] = "";
  25.  
  26. for (int i = 0; i < wordCount; i++) {
  27. int currentLen = strlen(words[i]);
  28.  
  29. if (currentLen > maxLen) {
  30. maxLen = currentLen;
  31. strcpy(longest, words[i]);
  32. }
  33.  
  34. if (currentLen < minLen) {
  35. minLen = currentLen;
  36. strcpy(shortest, words[i]);
  37. }
  38. }
  39.  
  40. printf("Найдовше слово: '%s' (%d символів)\n", longest, maxLen);
  41. printf("Найкоротше слово: '%s' (%d символів)\n", shortest, minLen);
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0s 5276KB
stdin
погода змінилася різко: зранка було +15°C, а ввечері термометр уже показував -3°C, тобто різниця склала цілих 18 градусів.

stdout
Введіть речення: Найдовше слово: 'змінилася' (18 символів)
Найкоротше слово: 'а' (2 символів)