Главная страница
Навигация по странице:

  • ЛР.420000.09.03.02. ПЗ

  • Тема

  • (+, -, *, /).

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

  • Строки C. тп6. Отчет по лабораторной работе 6 Строки Вариант 3 лр. 420000. 09. 03. 02. Пз


    Скачать 103.44 Kb.
    НазваниеОтчет по лабораторной работе 6 Строки Вариант 3 лр. 420000. 09. 03. 02. Пз
    АнкорСтроки C
    Дата11.12.2022
    Размер103.44 Kb.
    Формат файлаdocx
    Имя файлатп6.docx
    ТипОтчет
    #839379

    ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

    (ФГБОУ ВО ИрГУПС)»

    Факультет «Управление на транспорте и информационные технологии»

    Кафедра «Информационные системы и защита информации»

    Отчет по лабораторной работе №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.Компиляция, отладка, тестирование и получение результата:



    написать администратору сайта