Строки C. тп6. Отчет по лабораторной работе 6 Строки Вариант 3 лр. 420000. 09. 03. 02. Пз
Скачать 103.44 Kb.
|
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА Федеральное государственное бюджетное образовательное учреждение высшего образования «ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ (ФГБОУ ВО ИрГУПС)» Факультет «Управление на транспорте и информационные технологии» Кафедра «Информационные системы и защита информации» Отчет по лабораторной работе №6 Строки Вариант 3 ЛР.420000.09.03.02. ПЗ Выполнила Проверил студентка группы ИС.1-20-3 преподаватель кафедры ИСиЗИ Борисова Алёна Вергасов А.С. Иркутск 2022 Тема: Программирование алгоритмов работы со строками. Цель работы: Освоить основные алгоритмы работы со строками. Освоить методы тестирования программ. 1. Задание 1 Строка – это правильное арифметическое выражение, содержащее только натуральные числа и знаки арифметических операций между ними (+, -, *, /). Подсчитать результат, выполняя арифметические операции в порядке их следования. Входные данные: 5*3-9/3 Выходные данные: 2 2. Схема алгоритма решения задачи: 3. Код программы #include #include #include #include #include int main() { int i,k,res, n,l; //описание переменных char str[50], p; printf("\nЛабораторная работа №6(1)\n"); printf("\nгр. ИС1-20-3\n"); printf("\nБорисова Алёна\n"); printf("\nВведите выражение:\n"); //ввод исходных данных printf("\n str="); scanf("%s", str); n = strlen(str); //длина строки res= str[0] - '0'; for (i=1; i { switch(str[i]) { case '+': p = str[i+1]; l = p - '0'; res += l ; break ; case '-': p = str[i+1]; l = p - '0'; res -= l ; break ; case '*': p = str[i+1]; l = p - '0'; res *= l ; break ; case '/': p = str[i+1]; l = p - '0'; res /= l ; break ; } } printf ("Результат=%d",res); } 4. Компиляция, отладка, тестирование и получение результата: 5.Задание 2 В строке, содержащей не менее двух слов, разделенных пробелом, поменять местами первое и последнее слова. Рабочие строки не использовать. Входные данные: abcde fghik lmnop qrst uxyz Выходные данные: uxyz fghik lmnop qrst abcde 6. Код программы #include #include #define Nc 100 // 100 символов int main() { char s[Nc], // середина строки с последним словом s1[20], // первое слово res[Nc+20]; // результат, строка с переставленными словами int k; printf(" \n Лабораторная работа №6(2)"); printf(" \n Борисова Алёна "); printf(" \n гр. ИС 1-20-3"); printf(" \n Введите строку: "); scanf("%s",s1); // читаем первое слово gets(s); k = strlen(s); // находим длину слова while(s[k]!=' ') k --; // находим последний пробел k++; // переставляем указатель с пробела на начало последнего слова strcpy(res,&s[k]); // второе слово в начало strncat(res,s,k); // объединяем середина strcat(res,s1); // добавляем первое слово в конец printf("\n Результат - %s", res); getchar(); } 7.Компиляция, отладка, тестирование и получение результата: |