Перевод всех букв строки к верхнему регистру - C (СИ)
Формулировка задачи:
нужно создать программу для перевода маленьких букв английского алфавита в большие
Решение задачи: «Перевод всех букв строки к верхнему регистру»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(void)
{
char string[100];
int count;
printf("Enter string: ");
gets(string);
for(count=0; string[count]!='\0'; count++)
{
if(string[count]>=97 && string[count]<=122)
{
string[count]=toupper(string[count]);
}
}
puts(string);
system("pause");
return 0;
}
Объяснение кода листинга программы
- Объявлены три переменные: — string[100] - массив символов, в который будет записываться исходная строка; — count - счётчик, используемый в цикле; — string[count]!='\0' - условие цикла for, означающее, что цикл будет выполняться до тех пор, пока не будет встречен нулевой символ (конец строки).
- Введённая пользователем строка сохраняется в массиве string с помощью функции gets(string).
- Условие if(string[count]>=97 && string[count]<=122) проверяет, является ли текущий символ буквой латинского алфавита.
- Если текущий символ является буквой, то с помощью функции toupper(string[count]) его значение преобразуется в верхний регистр, и результат записывается обратно в массив string.
- После выполнения всех проверок выводится изменённая строка с помощью функции puts(string).
- В конце программы выполняется функция system(
pause), которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмёт клавишу. - Возвращаемое значение 0 в конце программы означает успешный конец работы программы.