Заменить первую букву у слов, следующих за словами die, der, das, на прописную - C (СИ)
Формулировка задачи:
В предложении, состоящем из слов, разделенных одним пробелом,
заменить первую букву у слов, следующих за словами die, der, das, на
прописную
Решение задачи: «Заменить первую букву у слов, следующих за словами die, der, das, на прописную»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 256 char * poisk(char *a, char * p) { char *c,*s,*z,*b; b=(char*)malloc(sizeof(char)*strlen(p)+1); strcpy(b,p); for(c=strtok(b," ");c!=NULL;c=strtok(NULL," ")) { s=a; while((z=strstr(s,c))!=NULL) { s=z+strlen(c)+1; *s=*s+32; } } free(b); return a; } int main(void) { char a[N]="Die Gfgdh Das Fhfhd Der Hfhfh"; printf( "%s\n",poisk(a,"Das Die Der")); return (0); }
Объяснение кода листинга программы
- Объединение строк с помощью функции strcpy.
- Разделение строки на слова с помощью функции strtok.
- Поиск каждого слова в строке с помощью цикла while и функции strstr.
- Замена первой буквы найденного слова на заглавную с помощью оператора инкремента s=s+32;.
- Возврат исходной строки в функцию main.
- Вывод результата на экран с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д