אממ
תקיצי לולאה מ i=0 עד i=30( כאשר התו ה 31 במחזורת הוא '0\'.
הלולאה מדלגת בכל פעם שערך התא הוא רווח, כלומר ' '. אם היא פוגשת בתו אחר, היא שומרת את המיקום שלו במערך עזר מסוג int, ומדלגת על שאר המילה, עד שהיא רואה רווח.
אחר כך את לוקחת את המיקום של האות שבה מתחילה המילה האמצעית במחרוזת, ורצה שוב בלולאה החל מהמיקום ועד לרווח והנה יש לך את המילה האמצעית.
לא קראתי את הקוד שלך, אבל יכול להיות שלא לקחת בחשבון שהמשתמש יכניס הרבה רווחים בין מילה למילה. ואת המחרוזת תקלטי כמובן עם gets ולא scanf.