Преобразование int в отдельные по знаковые переменные - C (СИ)
Формулировка задачи:
переменная int содержит трехзначное значение, нужно так что б каждое значение хранилось в отдельной переменной. Например int k=287, надо что б переменная int a=2, int b=8, int c=7 _ Не как не могу реализовать эту задачу, помогите _
только что пришла идея реализовать через тип string _ сейчас попробую написать _
Решение задачи: «Преобразование int в отдельные по знаковые переменные»
textual
Листинг программы
#include <stdio.h> void parse(int k, int *a, int *b, int *c); int main() { int k = 0; int a , b, c; a = b = c = 0; scanf("%d", &k); parse(k, &a, &b, &c); printf("a = %d; b = %d; c = %d;\n", a, b ,c); } void parse(int k, int *a, int *b, int *c) { if (k >= 100 && k <= 999) { *a = k / 100; *b = (k % 100) / 10; *c = k % 10; } else { *a = *b = *c = 0; } }
Объяснение кода листинга программы
- Включаем стандартную библиотеку для работы с I/O функциями
- Объявляем функцию parse, которая принимает целочисленный аргумент k и указатели на три переменные типа int
- В функции main создаем переменную k со значением 0
- Объявляем три переменные типа int a, b и c со значением 0
- Считываем значение k с помощью функции scanf
- Вызываем функцию parse, передавая ей в качестве аргументов k и указатели на переменные a, b и c
- Выводим значения переменных a, b и c на экран с помощью функции printf
- В функции parse проверяем, находится ли значение k в диапазоне от 100 до 999
- Если условие выполняется, то получаем значение переменной a, вычитая из k число 100 и получаем значение переменной b, вычитая из k число 100 и получая остаток, который делится на 10
- Получаем значение переменной c, вычитая из k число 100 и получая остаток, который делится на 10
- Если условие не выполняется, то присваиваем всем трем переменным значение 0
- Возвращаем из функции parse значение 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д