Как создать программу на языке Си, которая будет определять, каких букв в тексте больше: строчных или прописных? Если в тексте больше прописных букв, необходимо заменить все строчные буквы на прописные. Если же больше строчных, то прописные буквы следует заменить на строчные. В случае, если количество строчных и прописных букв одинаково, текст должен остаться без изменений.
Информатика 11 класс Программирование на языке Си программа на языке Си строчные и прописные буквы замена букв информатика 11 класс алгоритм для текста
Для создания программы на языке Си, которая будет выполнять указанные действия, следуйте приведенным ниже шагам:
fgets.Теперь давайте посмотрим на пример кода, который реализует вышеописанные шаги:
#include <stdio.h>
#include <ctype.h>
int main() {
char text[100]; // массив для хранения текста
int lowerCount = 0, upperCount = 0;
// Считываем текст
printf("Введите текст: ");
fgets(text, sizeof(text), stdin);
// Подсчитываем строчные и прописные буквы
for (int i = 0; text[i] != '\0'; i++) {
if (islower(text[i])) {
lowerCount++;
} else if (isupper(text[i])) {
upperCount++;
}
}
// Сравниваем количество букв
if (upperCount > lowerCount) {
// Заменяем строчные буквы на прописные
for (int i = 0; text[i] != '\0'; i++) {
text[i] = toupper(text[i]);
}
} else if (lowerCount > upperCount) {
// Заменяем прописные буквы на строчные
for (int i = 0; text[i] != '\0'; i++) {
text[i] = tolower(text[i]);
}
}
// Выводим результат
printf("Результат: %s", text);
return 0;
}
Объяснение кода:
stdio.h необходима для ввода-вывода, а ctype.h - для работы с символами (функции islower, isupper, tolower, toupper).fgets для считывания строки, что позволяет избежать переполнения буфера.Таким образом, программа позволяет определить, каких букв больше, и в зависимости от этого изменяет регистр букв в тексте. Не забудьте протестировать программу с разными входными данными!