Skip to content

Работа с переменными разных типов. Часть 1

В этой статье я предложу вам поучаствовать в марафоне примеров на Си. Поскольку примеры совсем небольшие, я решил включить в статью 4 примера. Каждый из них будет разобран, но если вопросы всё таки остануться, задавайте в комментариях. Поехали!

Объявить целую переменную min, дробную volume и дробную константу g. Задать им значения -70, -22.43, 406.01. С помощью только одной функции printf() вывести на экран переменные и их значения в формате «переменная = значение».

И вот решение!

#include <stdio.h>
#include <stdlib.h>

int main(void) {
        int min;
        double voulme;
        const double g = 400.01;
        min= -70;
        voulme= -22.43;
        printf("min=%d,  voulme=%.2lf, g=%.2lf",min,voulme,g);
        return EXIT_SUCCESS;
}

Как видите, код небольшой.
stdio.h stdlib.h — стандартные библиотеки, которые следует всегда подключать по умолчанию.
int и double типы для объявления переменных.
const означает, что она не должна меняться. (Постоянна)
printf() — команда для вывода информации в консоль.

printf(«min=%d, voulme=%.2lf, g=%.2lf»,min,voulme,g) тут внимательнее, «min=%d, voulme=%.2lf, g=%.2lf» — то, что выводится в консоль, но с помощью % мы ссылаемся на переменные в конце. Вы должны соблюдать порядок ссылок на переменные и порядок перечисления переменных, а также немало важно запомнить какая ссылка на какой тип переменной ссылается.

В данном случае %d — тип integer(целочисленный), %f — тип double(дробный). Полный список тут. Ещё вы наверняка заметили %.2lf, с помощью .2l мы задаём количество символов после запятой. По умолчанию идёт 6 цифр после запятой.

С этим примером закончили. Побежали дальше:

Объявить и инициализировать значение целочисленной переменной echo и последовательно провести с ней несколько операций составного присваивания: -7.05 /6 %3 +55 *4. Вывести на экран начальное, конечное и промежуточные значения переменной.

Код:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
        int echo = 0;
        scanf("%d", &echo);
        echo -= 7.05;
        printf("echo=%d\n", echo);
        echo /= 6;
        printf("echo=%d\n", echo);
        echo %= 3;
        printf("echo=%d\n", echo);
        echo += 55;
        printf("echo=%d\n", echo);
        echo *= 4;
        printf("echo=%d", echo);
        return EXIT_SUCCESS;
}

Из новых команд только scanf(), позволяющая считывать с консоли число.
Цель этого примера показать, что получается при работе с целочисленной переменной. Рассмотрим вывод:
Снимок
Как видим, при вычитание из 20 число 7.05 получается 12, благодаря округлению компилятора до целого. Так же примерно и с делением на 6 и с остатком от деления на 3. Но со сложением и умножением всё хорошо. Следующая:

Осуществить задание с клавиатуры значений переменных i, j. Если их сумма больше 15-ти, то удваиваем их значения. Если нет, — то если i отрицательно, уменьшаем его значение на 25, если нет, то увеличиваем j на 78. Вывести конечные значения переменных на экран. Использовать оператор if-else.

Код:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
  int i,j,x;
  scanf("%d%d",&i,&j);
  x=i+j;
  if (x>15) {
        i*=2;
        j*=2;
  }
  if (i<=0) {i-=25;} else {j+=78;}
  printf("i=%d,j=%d",i,j);

        return EXIT_SUCCESS;
}

На основе двух предыдущих примеров у вас не должно быть вопросов по поводу этой задачи. =) Цель этой задачи показать работу условия if(){} else{}. Побежали дальше:

Ввести с клавиатуры шестизначное число. Найти произведение сумм первых трех и последних трех цифр этого числа. Результаты вывести на экран.

Код:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
        int x, y, z, s;
        scanf("%d", &x);
        y = x / 100000 % 10 + x / 10000 % 10 +x / 1000 % 10;
        z = x / 100 % 10 + x / 10 % 10 + x % 10;
        s = y * z;
        printf("сумма первых %d\tсумма последних %d\n произведение %d", y, z, s);
        return EXIT_SUCCESS;
}

Новых команд тут нет, так что поговорим об алгоритме. Считываем шестизначное число в х. Далее, выделяем первую, вторую и третью цифру из числа с помощью операций деления (/) и остаток от деления(%), записываем их сумму в y. Аналогичным образом находим z. И считаем уже s.
Вот и кончился марафон. Пишите вопросы, комментируйте, всем ответим.

Скачать исходники задачи — 1
Скачать исходники задачи — 2
Скачать исходники задачи — 3
Скачать исходники задачи — 4

Опубликовано вСи

Будьте первым, кто оставит комментарий

    Добавить комментарий