Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Unsigned int i, n, summa, count; //описание переменных



char str[50], s;

printf(" \nЛабораторная работа №5_1" );

printf(" \nВариант №0" );

printf(" \nПО-11-1" );

printf(" \nПупкин Василий\n" );

printf(" \nВведите строку символов: \n" ); //ввод исходных данных

printf(" \n str=" );

scanf(" %s", str);

n = strlen(str); //длина строки

summa = 0; //начальное значение суммы

count = 0; //начальное количество цифр в строке

printf(" \nНайденные цифры: \n" );

for (i=0; i< n; i++)

{

s = str[i]; //очередной символ исходной строки

if (s == '0')

{

count++;

printf(" %3c", s);

}

if (s == '1')

{

count++;

summa++;

printf(" %3c", s);

}

if (s == '2')

{

count++;

summa += 2;

printf(" %3c", s);

}

if (s == '3')

{

count++;

summa += 3;

printf(" %3c", s);

}

if (s == '4')

{

count++;

summa += 4;

printf(" %3c", s);

}

if (s == '5')

{

count++;

summa += 5;

printf(" %3c", s);

}

if (s == '6')

{

count++;

summa += 6;

printf(" %3c", s);

}

if (s == '7')

{

count++;

summa += 7;

printf(" %3c", s);

}

if (s == '8')

{

count++;

summa += 8;

printf(" %3c", s);

}

if (s == '9')

{

count++;

summa += 9;

printf(" %3c", s);

}

}

printf(" \nsumma=%d", summa);

printf(" \ncount=%d", count);

return 0;

}

  1. Компиляция, отладка, тестирование и получение результата:

 

Задания на лабораторную работу №5

Исходные строки вводить с консоли. В строках можно использовать любые символы, находящиеся на клавиатуре.

Вариант 1

Задание 1

Найти в строке все сдвоенные символы. Вывести их на экран и подсчитать их количество.

 

Входные данные:

hb55’#dd& & 87

Выходные данные:

dd

& &

count=3

 

Задание 2

Из заданной строки удалить все последовательности символов, находящиеся между корректно записанными круглыми скобками (скобки удалить тоже). Скобки могут быть вложенными.

 

Входные данные:

ab(h[b55](0123)jw((’)f)#dd& & 87

Выходные данные:

ab(h[b55]jw#dd& & 87

Вариант 2

Задание 1

Определить, корректно ли расставлены в строке круглые и квадратные скобки. Скобки могут быть вложенными.

 

Входные данные:

ab(h[b55](0123)jw((’)f)#dd& & 87

Выходные данные:

Некорректно

Задание 2

Переставить в начало строки все буквы в порядке их следования, затем цифры, и в конце – остальные символы. Рабочие строки не использовать.

 

Входные данные:

abh[b55](0123)jw((’)f)#dd& & 87

Выходные данные:

abhbjwfdd55012387([]((’))#& &

 

Вариант 3

Задание 1

Строка – это правильное арифметическое выражение, содержащее только натуральные числа и знаки арифметических операций между ними (+, -, *, /). Подсчитать результат, выполняя арифметические операции в порядке их следования.

 

Входные данные:

5*3-9/3

Выходные данные:

Задание 2

В строке, содержащей не менее двух слов, разделенных пробелом, поменять местами первое и последнее слова.

 

Входные данные:

Abcde fghik lmnop qrst uxyz

Выходные данные:

Uxyz fghik lmnop qrst abcde

 

Вариант 4

Задание 1

Строка – это правильное арифметическое выражение, содержащее только натуральные числа и знаки арифметических операций между ними (+, -, *, /). Подсчитать результат, выполняя арифметические операции в порядке их приоритета.

 

Входные данные:

5*3-9/3

Выходные данные:

Задание 2

В строке, содержащей не менее трех слов, разделенных пробелом, поменять местами второе и предпоследнее слова.

 

Входные данные:

Abcde fghik lmnop qrst uxyz

Выходные данные:

Abcde qrst lmnop fghik uxyz

Вариант 5

Задание 1

В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности.

 

Входные данные:

Abcde fghik lmnop qrst uxyz

Выходные данные:

Uxyz qrst lmnop fghik abcde

 

Задание 2

В строке определить самую длинную последовательность символов, стоящих по возрастанию.

 

Входные данные:

abc012#*& defg346dezxc

Выходные данные:

Dez

Вариант 6

Задание 1

В строке, содержащей несколько слов, разделенных пробелом, перевернуть каждое слово.

 

Входные данные:

Abcde fghik lmnop

Выходные данные:

Edcba kihgf ponml

Задание 2

Строка представляет собой последовательность натуральных чисел, разделенных пробелом. Найти в ней все последовательности (не менее трех чисел), являющиеся арифметическими прогрессиями.

 

Входные данные:

1 3 4 6 2 4 6 8 1 3 5

Выходные данные:

2 4 6 8

1 3 5

Вариант 7

Задание 1

Ввести две строки, состоящие только из нулей и единиц. Считая их изображениями двоичных чисел, сложить их и вывести сумму на экран в двоичной и десятичной системах счисления. Исходные слагаемые в десятичную систему счисления не преобразовывать.

 

Входные данные:

Выходные данные:

Задание 2

Строка представляет собой последовательность слов, разделенных пробелом. Удалить из нее все повторения слов. Рабочие строки не использовать.

 

Входные данные:

Abcde fghik abcde lmnop fghi

Выходные данные:

Abcde fghik lmnop fghi

Вариант 8

Задание 1

В заданной строке заменить все последовательности одинаковых символов длиной более двух на конструкцию (k)a, где k - количество повторений символа a.

 

Входные данные:

Abbcdddeeffffghh

Выходные данные:

Abbc(3)dee(4)fghh

Задание 2

В заданной строке найти первую и последнюю цифры. Отсортировать символы, стоящие между ними, по возрастанию. Рабочие строки не использовать.

 

Входные данные:

a*bc& 9lsb345z%x

Выходные данные:

a*bc& 9l34bs5z%x

Вариант 9

Задание 1

В заданной строке найти минимальное и максимальное целое число (числа могут быть отрицательными, в этом случае знак “минус” перед ними ставится без пробела). Предусмотреть случай, когда в строке чисел нет.

 

Входные данные:

a*bc& 19-l sb3> 4-5z%x

Выходные данные:

max=19

min=-5

Задание 2

В заданной строке найти подстроку, находящуюся между пробелами с заданными номерами. Рабочие строки не использовать. Предусмотреть случай, когда в строке таких пробелов нет.

 

Входные данные:

a*bc -& 19 -l sb3> 4-5 z%x

Номер начального пробела: 2

Номер конечного пробела: 4

Выходные данные:

-l sb3>

Вариант 10

Задание 1

В заданной строке, состоящей из нескольких слов, разделенных пробелами, оставить по одному пробелу между словами. Предусмотреть случай, когда в строке пробелов нет.

 

Входные данные:

a*bc -& 19 -l sb3> 4-5 z%x

Выходные данные:

a*bc -& 19 -l sb3> 4-5 z%x

 

Задание 2

Вывести все 4-х символьные сочетания, состоящие из символов заданной строки, удовлетворяющие заданным правилам их формирования. Правила задать с терминала для каждого i -го символа ( i=1, …, 4 ):


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-11; Просмотров: 940; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.039 с.)
Главная | Случайная страница | Обратная связь