Ввести строку , заменить первые буквы на заглавные и вывести пословно - C (СИ)
Формулировка задачи:
#include <iostream> #include <string> using namespace std; int main() { string str; string sumstr=""; getline(cin,str); char d[3]; d[0]=' '; d[1]='.'; d[2]='!'; d[3]='?'; for(int i=0; i<str.length(); i++) { if(str[i]==d[0] || str[i]==d[1] || str[i]==d[2] || str[i]==d[3]) { AnsiUpperCase(sumstr[0]); cout<<sumstr<<endl; sumstr=""; } else sumstr=sumstr+str[i]; } return 0; }
Решение задачи: «Ввести строку , заменить первые буквы на заглавные и вывести пословно»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <ctype.h> char* AnsiUpperCase(char* str) { char* p = str; for (; *p != '\0'; ++p) { *p = toupper(*p); } return str; } int main(int argc, char* argv[]) { const char CDelim[] = " \t\n.!?"; char text[256]; fgets(text, sizeof(text), stdin); char* p = strtok(text, CDelim); while (p != NULL) { printf("%s\n", AnsiUpperCase(p)); p = strtok(NULL, CDelim); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и символами.
- Создание функции
AnsiUpperCase
, которая принимает указатель на строку и возвращает указатель на новую строку, в которой все символы преобразованы в верхний регистр. - Прохождение по всем символам строки, начиная с первого, и преобразование каждого символа в верхний регистр с помощью функции
toupper
. - Возвращение исходной строки.
- Ввод строки с помощью функции
fgets
в буферtext
. - Разделение введенной строки на отдельные слова с помощью функции
strtok
, где разделителями являются пробел, табуляция, перевод строки, точка, восклицательный знак и вопросительный знак. - Вывод каждого слова в формате
Слово\n
с помощью функцииprintf
, предварительно применив функциюAnsiUpperCase
для преобразования первого символа каждого слова в верхний регистр. - После вывода каждого слова, функция
strtok
ищет следующее слово или возвращаетNULL
, если больше слов не осталось. - Цикл продолжается до тех пор, пока не будет найдено
NULL
. - Возвращение 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д