Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A - C (СИ)
Формулировка задачи:
задача на Си:
Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени соответственно в переменных B, C и D (A — входной, B, C, D — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти вторую, третью и четвертую степень пяти данных чисел.
как сделать задачу? ведь функция может возвращать только 1 значение
или сделать переменные глобальными и тогда их возвращать не надо, а только вызвать функцию и выводить значения B,C,D ? хотя "B, C, D — выходные параметры" єто подразумевает именно возвращение пораметров (я так думаю), подскажите пожайлуста
#include<math.h>
#include<stdio.h>
PowerA234(int A)
{
int B,C,D;
B=pow(A,2);
C=pow(A,3);
D=pow(A,4);
return B;
}
main()
{
int A,i;
for(i=0;i<5;i++) {
printf("vvedite A\n");
scanf("%d",&A);
printf("%d\n",PowerA234(A));
}Решение задачи: «Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A»
textual
Листинг программы
#include<math.h>
#include<stdio.h>
void PowerA234(double A, double* B, double* C, double* D)
{
*B = pow(A, 2.0);
*C = pow(A, 3.0);
*D = pow(A, 4.0);
}
int main()
{
double A, B, C, D;
printf("Enter A: ");
scanf("%lf",&A);
PowerA234(A, &B, &C, &D);
printf("A = %lf\nB = %lf\nC = %lf\nD = %lf\n", A, B, C, D);
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
#include<math.h>,#include<stdio.h>. - Описание процедуры
PowerA234, принимающей числоAи указатели на переменныеB,C,Dдля хранения степеней числаA. - Вычисление второй степени числа
Aи сохранение результата в переменнуюB:*B = pow(A, 2.0);. - Вычисление третьей степени числа
Aи сохранение результата в переменнуюC:*C = pow(A, 3.0);. - Вычисление четвертой степени числа
Aи сохранение результата в переменнуюD:*D = pow(A, 4.0);. - Ввод числа
Aс клавиатуры:printf(Enter A:);,scanf(%lf,&A);. - Вызов процедуры
PowerA234с передачей числаAи указателей на переменныеB,C,D:PowerA234(A, &B, &C, &D);. - Вывод результатов вычислений:
printf(A = %lf\nB = %lf\nC = %lf\nD = %lf\n, A, B, C, D);. - Объявление переменных
A,B,C,Dв функцииmain(). - Объявление функции
PowerA234, принимающей числоAи указатели на переменныеB,C,D. - Объявление функции
main(), в которой происходит весь описанный выше код. - Вложенный код функции
main()завершает свою работу и возвращает управление в вызывающую программу. - Вложенный код функции
PowerA234()завершает свою работу и возвращает управление в вызывающую программу. - Значение числа
Aпередается в функциюPowerA234()по значению. - Указатели на переменные
B,C,Dпередаются в функциюPowerA234()по значению. - Значения переменных
B,C,Dсохраняются в стеке вызывающей программы. - Значения переменных
B,C,Dиз стека вызывающей программы передаются в функциюprintf()по значению. - Значения переменных
A,B,C,Dиз стека вызывающей программы передаются в функциюprintf()по значению. - Значения переменных
A,B,C,Dиз стека вызывающей программы передаются в функциюscanf()по значению. - Значение числа
Aиз стека вызывающей программы передается в функциюscanf()по значению.