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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
int main( int argc, char** argv)
{
    int i=0, j;
    char s1[100], *c;
    fflush(stdin);
    printf("vvedite stroky propisnih simvoov: \n");
    fgets(s1, 100, stdin);
    s1[0] = toupper(s1[0]);
    for (c = s1 + 1; *c; ++c)
        *c = tolower(*c);
    while(i < 100){
        if (s1[i++] == '.')
            for (j = i ; j < 100; j++)
                if (!isspace(s1[j]))
                {
                    s1[j] = toupper(s1[j]);
                    break;
                }
    }
    puts(s1);
    getchar();
    return 0;
}

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

  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
Похожие ответы