
22.12.2009, 00:02
|
|
Новичок
Регистрация: 27.03.2009
Сообщений: 12
С нами:
9013169
Репутация:
0
|
|
Поиск самого длинного и самого короткого слова
Здравствуйте, помогите мне пожалуйста.
Необходимо на С реализовать следующую программу: из введенной пользователем строки выбрать самое длинное и самое короткое слово.
У меня есть свои попытки решения данной задачи, вот один из примеров:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char stroka[300];
gets (stroka);
int dlin_min=strlen(stroka); // хранит длинну минимальной строки, пока равна длинне всей строки
int dlin_max=0; //хранит максимальную длинну строки
int dlin_tek=0; //хранит текущую длинну строки
char stroka_min[300]; //строка хранящая минимальное слово
char stroka_max[300];// строка хранящая максимальное слово
char stroka_tek[300]; // строка хранящая текущее слово
for (int i=0; i<strlen(stroka); i++)
{
printf ("i= %d\n", i);
switch (int(stroka [i]))
{
case 32 :{
if (dlin_tek>dlin_max) {
for (int j=0; j<dlin_tek; j++)
{
printf ("j= %d\n", j);
stroka_max[j]=stroka_tek[j];
};
dlin_max=dlin_tek;
};
if (dlin_tek<dlin_min) {
for (int j=0; j<dlin_tek; j++)
{
printf ("j2= %d\n", j);
stroka_min[j]=stroka_tek[j];
};
dlin_min= dlin_tek;
};
dlin_tek=0;
break;
}
default:
{
stroka_tek[i]=stroka[i];
dlin_tek=strlen(stroka_tek);
};
};
};
printf ("minslovo= %s\n", stroka_min);
printf ("maxslovo= %s\n", stroka_max);
return EXIT_SUCCESS;
}
Но после нескольких неудачных попыток я понял, я что со стороками у меня все глухо.Заведомо благодарю всех откликнувшихся
|
|
|