Заменить первую букву у слов, следующих за словами 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);
}

Объяснение кода листинга программы

  1. Объединение строк с помощью функции strcpy.
  2. Разделение строки на слова с помощью функции strtok.
  3. Поиск каждого слова в строке с помощью цикла while и функции strstr.
  4. Замена первой буквы найденного слова на заглавную с помощью оператора инкремента s=s+32;.
  5. Возврат исходной строки в функцию main.
  6. Вывод результата на экран с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы