Элементы первого массива возвести в степень второго - C (СИ)
Формулировка задачи:
Ребят, подскажите пожалуйста. Нужно элементы 1-го массива, возвести в степень 2-го массива. У меня программа выводит число -2147483648. Что не так?
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { int a[10], c[10], i, m, n; double y[10]; printf("Vvedite kol-vo elimentov massiva\n"); scanf("%d",&n); printf("Vvedite a[i]\n"); for(i = 1; i <= n; i++) { scanf("%d",&a[n]); } printf("Vvedite c[i]\n"); for(i = 1; i <= n; i++)[ { scanf("%d",&c[n]); } y[n]=pow(a[n], c[n]); printf("%d\n",y[n]) system("PAUSE"); return 0; }
Решение задачи: «Элементы первого массива возвести в степень второго»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { int a[n], c[n]; double y[n]; int i; for(i = 0; i <n; i++){printf("Vvedite a[%d]\n",i);scanf("%d",&a[i]);} for(i = 0; i < n; i++) { printf("Vvedite c[%d]\n",i); scanf("%d",&c[i]);} for(i=0;i<n;i++){y[i]=powl(a[i], c[i]);printf("%.11f\n",y[i]); } system("PAUSE"); return 0; }
Объяснение кода листинга программы
- #include
Включает в программу функции файла стандартного ввода/вывода, которые используются для отправки сообщений в консоль - #include
Включает в программу функции файла стандартного ввода/вывода, которые используются для работы с памятью - #include
Включает в программу функции файла математических операций, которые используются для выполнения математических операций в программе - *int main(int argc, char argv[])** Функция main() является точкой входа в программу и запускается при запуске программы
- int a[n], c[n]; Объявляет две массивы a и c типа int с размером n
- double y[n]; Объявляет массив y типа double с размером n
- int i; Объявляет переменную i типа int для использования в циклах
- for(i = 0; i < n; i++){printf(
Vvedite a[%d]\n
,i);scanf(%d
,&a[i]);} Этот цикл запрашивает у пользователя ввести значения для каждого элемента массива a и сохраняет их в соответствующих элементах массива - for(i = 0; i < n; i++) { printf(
Vvedite c[%d]\n
,i); scanf(%d
,&c[i]);} Этот цикл запрашивает у пользователя ввести значения для каждого элемента массива c и сохраняет их в соответствующих элементах массива - for(i=0;i<n;i++){y[i]=powl(a[i], c[i]);printf(
%.11f\n
,y[i]); } Этот цикл вычисляет значение для каждого элемента массива y, возводя каждый элемент массива a в степень соответствующего элемента массива c, а затем выводит каждое значение в консоль - system(
PAUSE
); Эта функция приостанавливает выполнение программы до тех пор, пока пользователь не нажмет клавишу Enter - return 0; Обозначает успешный конец работы программы
- Ввод и вывод программы осуществляются через консоль
- Программа работает с массивами a и c, а также с массивом y
- Программа запрашивает у пользователя ввести значения для каждого элемента массива a и c
- Программа вычисляет значение для каждого элемента массива y, возводя каждый элемент массива a в степень соответствующего элемента массива c
- Программа выводит каждое значение в консоль
- Программа завершается, когда пользователь нажимает клавишу Enter
- Программа не использует библиотеку
, поэтому строки не обрабатываются - Программа не использует библиотеку
, поэтому символы не преобразуются в верхний или нижний регистр, и пробелы не удаляются
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д