
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ СИ Задача: Если все три введенных числа неотрицательны, то найти
наименьшее число, иначе – уменьшить каждое число вдвое.

Ответы на вопрос

#include <stdio.h>
int main()
{
float a, b, c;
scanf("%f%f%f", &a, &b, &c);
if (a >= 0 && b >= 0 && c >= 0){
if (a < b && a < c)
printf("MIN: %f", a);
else if (b < a && b < c)
printf("MIN: %f", b);
else
printf("MIN: %f", c);
}
else{
a /= 2;
b /= 2;
c /= 2;
printf("%f, %f, %f", a, b, c);
}
return 0;
}



Ответ:
int a = 3;
int b = -3;
int c = 6;
var count = 0;
if(a > 0) count++;
if(b > 0) count++;
if(c > 0) count++;
if(count >= 2)
{
if(a % 2 != 0) a--;
if(b % 2 != 0) b--;
if(c % 2 != 0) c--;
Console.WriteLine($"a = {a}; b = {b}; c = {c}");
}
else
{
var sum = a + b + c;
Console.WriteLine($"sum = {sum}");
}
Объяснение:



Как я понимаю, вам нужно написать программу на языке Си, которая будет проверять три введенных числа на неотрицательность. Если все три числа неотрицательны, программа должна найти наименьшее число. В противном случае, каждое из трех чисел нужно уменьшить вдвое.
Вот пример решения этой задачи на языке Си:
```c
#include
int main() { int a, b, c; int min;
printf("Введите первое число: "); scanf("%d", &a); printf("Введите второе число: "); scanf("%d", &b);
printf("Введите третье число: "); scanf("%d", &c); if (a >= 0 && b >= 0 && c >= 0) { // Все числа неотрицательны if (a <= b && a <= c) { min = a; } else if (b <= a && b <= c) { min = b; } else { min = c; } printf("Наименьшее число: %d\n", min); } else { // Хотя бы одно число отрицательно a /= 2; b /= 2; c /= 2; printf("Полученные числа после деления на два: %d, %d, %d\n", a, b, c); } return 0; } ```
В данном примере мы объявляем переменные `a`, `b`, `c`, которые будут хранить введенные пользователем числа. Затем мы запрашиваем у пользователя ввод каждого из трех чисел.
Далее идет проверка условия с помощью `if` - если все три числа `a`, `b` и `c` неотрицательны, мы ищем наименьшее из них и выводим его на экран с помощью `printf`. В противном случае, к каждому из трех чисел мы применяем операцию деления на 2 с помощью оператора деления `/=` и выводим полученные числа на экран.
Надеюсь, это поможет вам понять, как решить данную задачу на языке Си. Если есть еще вопросы, не стесняйтесь задавать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili