Найти числа между минимальным и максимальным значениям - C (СИ)
Формулировка задачи:
Сделал программу для того что бы найти числа между минимальным и максимальным значениям, как найти их суму?
#include <stdio.h> #include <time.h> #define SIZE 20 int main(void) { int i ,i_min, q, i_max; float a[SIZE], min, max, w, S=0; int rand(void); srand((unsigned)time(NULL)); for( i = 0; i < SIZE;i++ ) { a[i] = rand()% 32-11; printf("i=%d a=%f\n", i, a[i]); } printf("\n"); min = a[0]; i_min = 0; max= a[0]; i_max = 0; for (i = 1; i < SIZE;i++ ) { if( a[i]<min ) { min = a[i]; i_min = i; } if( a[i]>max ) { max = a[i]; i_max = i; } } printf(" i = %d min = %f\n ", i_min, min); printf(" i = %d min = %f\n ", i_max, max); getchar(); }
Решение задачи: «Найти числа между минимальным и максимальным значениям»
textual
Листинг программы
#include "stdafx.h" /*Сделал программу для того что бы найти числа между минимальным и максимальным значениям, как найти их суму?*/ #include <stdio.h> #include <time.h> #include <stdlib.h>// #define SIZE 20 int main(void) { int i ,i_min, q, i_max; int a[SIZE], min, max, w, S=0; int sum=0; int c;//=i_min>i_max?i_max:i_min;//оператор "?" (альтернативный условному оператору if) int b;//=i_min<i_max?i_max:i_min; srand((unsigned)time(NULL)); for( i = 0; i < SIZE;i++ ) { a[i] = rand()% 32-11; printf("i=%d a=%d\n", i, a[i]); } printf("\n"); min = a[0]; i_min = 0; max= a[0]; i_max = 0; for (i = 1; i < SIZE;i++ ) { if( a[i]<min ) { min = a[i]; i_min = i; } if( a[i]>max ) { max = a[i]; i_max = i; } } c=i_min>i_max?i_max:i_min;//оператор "?" (альтернативный условному оператору if) b=i_min<i_max?i_max:i_min; for(i=c+1; i< b ;i++) { sum+=a[i]; } printf("\n%d \n",sum); printf(" i = %d min = %d\n ", i_min, min); printf(" i = %d min = %d\n ", i_max, max); getchar(); }
Объяснение кода листинга программы
В этом коде используется язык программирования C. Вот список действий, которые выполняются в этом коде:
- В начале программы подключаются необходимые заголовочные файлы.
- Задается размер массива a в 20 элементов.
- В функции main() инициализируются переменные i, i_min, q, i_max, a, min, max, w, S и sum.
- С помощью функции srand() инициируется генератор случайных чисел.
- В цикле for заполняется массив a случайными числами от -11 до 32-11.
- Находят минимальное и максимальное значение в массиве a, а также индексы этих значений (i_min и i_max).
- С помощью оператора
?
(альтернативный условному оператору if) выбирается наибольшее значение между i_min и i_max и сохраняется в переменную c. - С помощью оператора
?
(альтернативный условному оператору if) выбирается наименьшее значение между i_min и i_max и сохраняется в переменную b. - В цикле for начиная с c+1 и до b-1 (исключая границы) суммируются элементы массива a, которые находятся между c и b.
- Выводится сумма элементов, найденных в предыдущем цикле.
- Выводятся значения переменных i_min, min, i_max, max.
- Программа ожидает нажатия любой клавиши, чтобы завершить работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д