Поиск слов с одинаковой первой и последней буквой - C (СИ)
Формулировка задачи:
Привет!
Помогите пожалуйста найти ошибку к коде:
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <string.h>
using namespace System;
int main(array<System::String ^> ^args)
{
char s[256];
char sl[20];
printf("\nVvedite tekst:\n");
gets(s);
int k=0;
for (int i=1;i<=strlen(s);i++)
{
if (s[i]==' ')
if (sl[1]==sl[strlen[sl]])
{
printf(sl," ");
k++;
}
else
sl=sl+s[i];
sl="";
}
if (k==0)
printf("takih slov net!");
getch();
return 0;
}Решение задачи: «Поиск слов с одинаковой первой и последней буквой»
textual
Листинг программы
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace System;
int main(array<System::String ^> ^args)
{
char s[256]; //введенная строка
char sl[256]; //слово
int len = strlen(sl); //длина слова
len=0;
strcpy (sl,""); //обнуляем слово
printf("\nVvedite tekst:\n");
gets(s);
int k=0; //счетчик нужных слов
for (int i=0; i!=strlen(s); i++)
{
if (s[i]!=' ')
{
sl[len]=s[i]; //прибавляем буковки к слову
sl[len+1]='\0';
len++;
}
else
{
if (sl[0]==sl[len-1]) //если первая и последняя равны...
{
k++;
printf (sl);
}
len=0;
}
}
if (k==0) printf("net takih slov!");
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде осуществляется поиск слов в строке, введенной пользователем, у которых первая и последняя буквы совпадают. Список действий:
- Ввод строки от пользователя
- Сбор данных в переменную
s - Обнуление переменной
sl - Вычисление длины слова в переменной
len - Проверка на пустую строку
- Поиск слов с одинаковой первой и последней буквой
- Вывод найденных слов на экран
- Вывод сообщения, если слова не найдены
- Завершение работы программы