В строке, состоящей из алфавитно-цифровых символов, переместить все заглавные буквы в ее начало. - C (СИ)

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

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

В строке, состоящей из алфавитно-цифровых символов, переместить все заглавные буквы в ее начало. Сделала вот так:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
int i,n,k;
char s[100]="tVs683hIs92",v;
printf ("Vvedite stroku'\n");
n=strlen(s);
k= 0;
for(i= 0; i<n; i++)
{
if (!islower(s[i]))
{
v=s[i];
s[i]=s[k];
s[k]=v;
 
k++;
}
}
printf ("%s",s);
return 0;
}
Проверить нигде не могу, правильно, нет? Помогите, пожалуйста.

Решение задачи: «В строке, состоящей из алфавитно-цифровых символов, переместить все заглавные буквы в ее начало.»

textual
Листинг программы
if(!isdigit(s[i]))
{
if (!islower(s[i]))
{
v=s[i];
s[i]=s[k];
s[k]=v;
k++;
}
}

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

В данном коде выполняется следующая последовательность действий:

  1. Проверяется, является ли символ в позиции i строки числом (с помощью функции isdigit).
  2. Если символ не является числом, выполняется следующая проверка.
  3. Проверяется, является ли символ в позиции i строчной буквой (с помощью функции islower).
  4. Если символ является строчной буквой, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.
  5. Если символ не является строчной буквой, выполняется следующая проверка.
  6. Проверяется, является ли символ в позиции i заглавной буквой (с помощью функции isupper).
  7. Если символ является заглавной буквой, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.
  8. Если символ не является заглавной буквой, выполняется следующая проверка.
  9. Проверяется, является ли символ в позиции i знаком (с помощью функции ispunct).
  10. Если символ является знаком, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.
  11. Если символ не является знаком, выполняется следующая проверка.
  12. Проверяется, является ли символ в позиции i пробелом (с помощью функции isspace).
  13. Если символ является пробелом, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.
  14. Если символ не является пробелом, выполняется следующая проверка.
  15. Проверяется, является ли символ в позиции i переводом строки (с помощью функции isspace).
  16. Если символ является переводом строки, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.
  17. Если символ не является переводом строки, выполняется следующая проверка.
  18. Проверяется, является ли символ в позиции i знаком подчеркивания (с помощью функции ispunct).
  19. Если символ является знаком подчеркивания, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.
  20. Если символ не является знаком подчеркивания, выполняется следующая проверка.
  21. Проверяется, является ли символ в позиции i числом (с помощью функции isdigit).
  22. Если символ является числом, выполняется следующая последовательность действий:
    • Переменная v принимает значение символа в позиции i.
    • Символ в позиции i заменяется на символ в позиции k.
    • Символ в позиции k заменяется на значение переменной v.
    • Переменная k увеличивается на единицу.

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


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

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

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