Заменить строчные буквы на заглавные - C (СИ)

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

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

после комбинаций :точка и ли пробел точка
void main()
{
char s[80];
int r;
 
r=0;
while (s[r]!='\0')
{
if (s[r]=='.')
{
if (s[r+1]==' ')
{
if ((s[r+2]>=97)&&(s[r+2]<=122))
{
s[r+2]=toupper(s[r+2]);
r++;
}
else r++;
}
if ((s[r+1]>=97)&&(s[r+1]<=122))
{
s[r+1]=toupper(s[r+1]);
r++;
}
else r++;
}
else r++;
}
fprintf(fout,"%s",s);
}

Решение задачи: «Заменить строчные буквы на заглавные»

textual
Листинг программы
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
#include <assert.h>
 
int main(void) {
    wchar_t buf[BUFSIZ], * p;
    
    assert(setlocale(LC_ALL, "ru_RU.UTF-8"));
    
    while ( printf("Строка: ") && fgetws(buf, BUFSIZ, stdin) && *buf != L'\n' ) {
        for ( p = buf; *p != L'\0'; ++p )
            *p = towupper(*p);
        printf("ЗАГЛАВНЫМИ: %ls", buf);
    }
    
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с широкими символами и локалью
  2. Установка локали на ru_RU.UTF-8 с помощью функции setlocale
  3. Ввод строки с помощью fgetws
  4. Проход по каждому символу в строке и замена его на заглавный с помощью функции towupper
  5. Вывод преобразованной строки с помощью функции printf

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


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

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

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