Проверка последних трех букв введенного слова - C (СИ)
Формулировка задачи:
Помогите пожайлуста написать программу которая проверяет оканчиваются ли последние три букв на "ski"
Решение задачи: «Проверка последних трех букв введенного слова»
textual
Листинг программы
#include <stdio.h>
#define N 30
int main(void)
{
char sl[N];
printf("Word: ");
scanf("%s",sl);
int ls,lo,i;
char obr[N]="ski";
for(ls=0;sl[ls++];);
for(lo=0;obr[lo++];);
--lo;--ls;
for(i=0;obr[i];i++)
{
if(obr[i]!=sl[ls-lo+i])
{
printf("No!");break;
}
}
if(i==lo)printf("Yes!");
return (0);
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
sl- массив символов (строка), в который будет считываться слово.ls- счётчик, который будет хранить количество символов (букв) в слове.lo- счётчик, который будет хранить количество букв в проверяемом слове (название которогоobr).i- счётчик, используемый в цикле.
- Задано значение константы
N(30). - В цикле с помощью функции
scanfв массивslсчитывается слово (до 30 символов). - В цикле определяются количество символов в считанном слове (ls) и количество символов в проверяемом слове (lo).
- Последний символ в проверяемом слове и в считанном слове (если они равны) сравнивается с каждым символом в считанном слове (начиная с последнего). Если символы не равны, то выводится сообщение
No!и программа завершается. - Если все символы совпадают, то выводится сообщение
Yes!. - Значение 0 возвращается в конце программы.