Изменение регистра символов в строке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана строка только из прописных букв. Нужно преобразовать ее так, чтобы первая буква после точки была прописной, а остальные - строчными. Сделал только ввод строки
Листинг программы
  1. #include <stdio.h>
  2. int main(int argc, const char * argv[])
  3. {
  4. char s1[20];
  5. fflush(stdin);
  6. printf("vvedite stroky propisnih simvoov: \n");
  7. scanf("%s", &s1[0]);
  8. return 0;
  9. }

Решение задачи: «Изменение регистра символов в строке»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. int main( int argc, char** argv)
  5. {
  6.     int i=0, j;
  7.     char s1[100], *c;
  8.     fflush(stdin);
  9.     printf("vvedite stroky propisnih simvoov: \n");
  10.     fgets(s1, 100, stdin);
  11.     s1[0] = toupper(s1[0]);
  12.     for (c = s1 + 1; *c; ++c)
  13.         *c = tolower(*c);
  14.     while(i < 100){
  15.         if (s1[i++] == '.')
  16.             for (j = i ; j < 100; j++)
  17.                 if (!isspace(s1[j]))
  18.                 {
  19.                     s1[j] = toupper(s1[j]);
  20.                     break;
  21.                 }
  22.     }
  23.     puts(s1);
  24.     getchar();
  25.     return 0;
  26. }

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

  1. Включаем необходимые заголовочные файлы для работы с консолью и проверки символов на специальные символы.
  2. Определяем основную функцию программы - main.
  3. Инициализируем переменные: i=0, j, c, s1.
  4. Выводим сообщение с просьбой ввести строку.
  5. Считываем строку с помощью функции fgets.
  6. Приводим первый символ строки к верхнему регистру с помощью функции toupper.
  7. В цикле проходим по каждому символу строки (начиная со второго) и приводим его к нижнему регистру с помощью функции tolower.
  8. В цикле проходим по каждому символу строки (начиная с первого) и если символ является точкой, то в следующем цикле проходим по всем символам начиная с текущего индекса и проверяем каждый символ на специальный символ (не пробел). Если символ не является пробелом, то приводим его к верхнему регистру и выходим из цикла.
  9. Выводим измененную строку с помощью функции puts.
  10. Получаем символ конца файла с помощью функции getchar.
  11. Возвращаем 0, чтобы указать, что программа успешно завершилась.

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


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

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

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы