Изменение регистра символов в строке - 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;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью и проверки символов на специальные символы.
- Определяем основную функцию программы - main.
- Инициализируем переменные: i=0, j, c, s1.
- Выводим сообщение с просьбой ввести строку.
- Считываем строку с помощью функции fgets.
- Приводим первый символ строки к верхнему регистру с помощью функции toupper.
- В цикле проходим по каждому символу строки (начиная со второго) и приводим его к нижнему регистру с помощью функции tolower.
- В цикле проходим по каждому символу строки (начиная с первого) и если символ является точкой, то в следующем цикле проходим по всем символам начиная с текущего индекса и проверяем каждый символ на специальный символ (не пробел). Если символ не является пробелом, то приводим его к верхнему регистру и выходим из цикла.
- Выводим измененную строку с помощью функции puts.
- Получаем символ конца файла с помощью функции getchar.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д