fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int main()
  6. {
  7. int i = 0, l = 0, j, k, space = 0, count = 0, init = 0, min = 0, max = 0, len = 0, flag;
  8. char a[100], b[30][20], c[30], d[30], minP[30], maxP[30];
  9.  
  10. printf("Read a string:\n");
  11. // fflush(stdin);
  12. scanf("%[^\n]s", a);
  13. for (i = 0;a[i] != '\0';i++)
  14. {
  15. if (a[i] == ' ')
  16. space++;
  17. }
  18. i = 0;
  19. for (j = 0;j<(space+1);i++, j++)
  20. {
  21. k = 0;
  22. while (a[i] != '\0')
  23. {
  24. if (a[i] == ' ')
  25. {
  26. break;
  27. }
  28. else
  29. {
  30. b[j][k++] = a[i];
  31. i++;
  32. }
  33. }
  34. b[j][k] = '\0';
  35. }
  36. for (j = 0;j < space + 1;j++)
  37. printf("%s ", b[j]);
  38. printf("\n");
  39. for (i = 0;i < space + 1;i++)
  40. {
  41. strcpy(c, b[i]);
  42. count = strlen(b[i]);
  43. k = 0;
  44. for (l = count - 1;l >= 0;l--)
  45. d[k++] = b[i][l];
  46. d[k] = '\0';
  47. if (strcmp(d, c) == 0) {
  48. flag = 1;
  49. if (init < 1)
  50. {
  51. strcpy(minP, d);
  52. strcpy(maxP, d);
  53. min = strlen(minP);
  54. max = strlen(maxP);
  55. init++;
  56. }
  57. printf("String %s is a Palindrome\n", d);
  58. len = strlen(d);
  59. if (len >= max)
  60. {
  61. strcpy(maxP, d);
  62. max = strlen(maxP);
  63. }
  64. else if (len <= min)
  65. {
  66. strcpy(minP, d);
  67. min = strlen(minP);
  68. }
  69. else
  70. printf("");
  71. }
  72. }
  73. if (flag == 1)
  74. {
  75. printf("The minimum palindrome is %s\n", minP);
  76. printf("The maximum palindrome is %s\n", maxP);
  77. }
  78. else
  79. printf("given string has no pallindrome\n");
  80. }
Success #stdin #stdout 0s 2160KB
stdin
abcdcba abcdedcba aba abcba
  
stdout
Read a string:
abcdcba abcdedcba aba abcba 
String abcdcba is a Palindrome
String abcdedcba is a Palindrome
String aba is a Palindrome
String abcba is a Palindrome
The minimum palindrome is aba
The maximum palindrome is abcdedcba