Написать аналог функции UpperCase - C (СИ)

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

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

Задали задачку: написать аналог функции UpperCase (в большие должны превращаться только латинские буквы). Может кто-нибудь помочь с этим?

Решение задачи: «Написать аналог функции UpperCase»

textual
Листинг программы
#include <stdio.h>
 
int UpperCase(int ch) {
 
    return (('a' <= ch) && (ch <= 'z')) ? ch - 32 : ch;
}
 
char* Upper(char* text) {
 
    char* p = text;
 
    for (; *p; ++p) {
        *p = UpperCase(*p);
    }
 
    return text;
}
 
int main() {
 
    char text[256];
    printf("text: ");
    fgets(text, sizeof(text), stdin);
 
    printf("%s\n", Upper(text));
 
    return 0;
}

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

  1. Подключение стандартной библиотеки.
  2. Определение функции UpperCase, которая принимает целочисленный аргумент ch и возвращает целочисленное значение. Функция проверяет, является ли символ ch строчной буквой английского алфавита, и если это так, то вычитает из него 32 для получения заглавной буквы, в противном случае возвращает исходное значение символа.
  3. Определение функции Upper, которая принимает указатель на строку text в качестве аргумента и возвращает указатель на эту же строку. В функции используется цикл for, который проходит по каждому символу строки text. Если символ является строчной буквой, то он преобразуется в заглавную с помощью функции UpperCase и записывается обратно в строку.
  4. Определение функции main. В функции создается массив символов text размером 256, затем считывается строка с помощью функции fgets. Далее вызывается функция Upper, передавая ей в качестве аргумента считанную строку text. Результат работы функции Upper выводится на экран с помощью функции printf.
  5. Входные данные для функции main не определены.
  6. Выходные данные для функции main — преобразованная в верхний регистр строка, которая выводится на экран.

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


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

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

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