Ввести с клавиатуры предложение. Произвести вставку запятой после слов заканчивающихся на "й". Вывести на экран количество таких вставок - C (СИ)
Формулировка задачи:
Помогите пожалуйста с программой, получилось только сделать набросок.
/*Ввести с клавиатуры предложение.
Произвести вставку запятой после слов заканчивающихся на "й".
Вывести на экран количество таких вставок.*/
#include <stdlib.h> #include <stdio.h> #include <string.h> #include <conio.h> int main () { char S1[100]; char S2[100]; int i=0,j=0,k=0; printf("\n Vvedite slova: "); gets(S1); while (S1[i]!='/0') { S1[i++];=S2[j++] if ((S1[i-1]=='i')&&(S1[i]==' ')) S2[j++]=','; k++; } S2[j]='/0'; printf("\n %S2",S2); printf("\n %d",k); }
Решение задачи: «Ввести с клавиатуры предложение. Произвести вставку запятой после слов заканчивающихся на "й". Вывести на экран количество таких вставок»
textual
Листинг программы
/*Ввести с клавиатуры предложение. Произвести вставку запятой после слов заканчивающихся на "й". Вывести на экран количество таких вставок.*/ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <conio.h> int main () { char S1[100]; char S2[100]; int i=0,j=0,k=0; printf("\n Vvedite slova: "); gets(S1); while (S1[i]!='\0') { S2[j++]=S1[i++]; if ((S1[i-1]=='i')&&(S1[i]==' ')){ S2[j++]=','; k++; } } S2[j]='\0'; printf("\n %s",S2); printf("\n %d",k); gets(S2); }
Объяснение кода листинга программы
- Пользователю предлагается ввести предложение.
- Введенное предложение сохраняется в массив S1.
- В цикле while происходит копирование слов из S1 в S2, при этом проверяется, оканчивается ли текущее слово на
й
. - Если слово оканчивается на
й
, то после него вставляется запятая и увеличивается счетчик k. - После выхода из цикла, в S2 добавляется символ конца строки.
- Выводится на экран итоговая строка S2.
- Выводится количество вставок запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д