Если a < b < c < d, то каждое число заменить наибольшим из них - C (СИ)
Формулировка задачи:
Даны действительные числа a, b, c, d. Если a < b < c < d, то каждое число заменить наибольшим из них; если a > b > c > d, то числа оставить без изменения; иначе все числа заменяются их квадратами.
Решение задачи: «Если a < b < c < d, то каждое число заменить наибольшим из них»
textual
Листинг программы
#include <stdio.h> #include <math.h> #include <locale.h> int main(void) { setlocale(LC_ALL, "ru"); int i=1; double a[4],c; char b='a'; for(i=0;i<4;i++){ printf("Введите число %c\n",b); scanf("%lf",&a[i]);b++;} if(a[0]<a[1] && a[1]<a[2] && a[2]<a[3]){ c=a[0]; for(i=1;i<4;i++){if(c<a[i])c=a[i];} for(i=0;i<4;i++)a[i]=c; }else if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3]){ printf("n\n"); for(i=0;i<4;i++)a[i]=pow(a[i],2); } b='a'; for(i=0;i<4;i++){printf("%c = %lf\n",b,a[i]);b++;} return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами и вводом-выводом
- Установка русской локали для вывода
- Объявление переменных:
- i - счетчик для цикла
- a - массив из 4 double чисел
- c - переменная для хранения наибольшего числа
- b - переменная-указатель для ввода имени числа
- Цикл, который выполняется 4 раза. В каждой итерации происходит:
- вывод сообщения с просьбой ввести число, соответствующее текущему индексу массива
- считывание введенного числа с помощью функции scanf
- Проверка условия: если a[0] < a[1] и a[1] < a[2] и a[2] < a[3], то:
- наибольшее число присваивается переменной c
- в цикле проходятся все оставшиеся числа. Если c < a[i], то c присваивается значение a[i]
- в цикле проходятся все числа в массиве. Если число не равно c, то оно заменяется на c
- Если условие не выполняется, то выводится сообщение и выполняется цикл, в котором все числа в массиве возводятся в квадрат
- Вывод всех чисел в массиве с помощью цикла и функции printf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д