Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
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; }
Задания на лабораторную работу №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; Нарушение авторского права страницы