|
Программирование >> Процедурные приложения
#include <stdio.h> void, vsidefint is); int main() int iyourlength; printf ( Введите длину ребра куба: ) ; scanf( %d ,&iyourlength) ; vside (iyourlength) ; return (0); void vside(int is) { int iarea, ivolume, isarea; iarea = is * is; ivolume = is * is * is; isarea = 6 * iarea; printf( \nДлина ребра куба: %d\n , is); printf( Площадь грани куба: %d\n , iarea); printf( Объем куба: %d\n , ivolume); printf( Площадь поверхности куба: %d\n , isarea); } Аргументы типа float В следующем примере в функцию vhypotenuse() передаются два аргумента типа float, определяющие длину катетов прямоугольного треугольника. В функции вычисляется длина гипотенузы vhypotenuse(). * ffloat. с * Эта программа на языке С вычисляет длину гипотенузы * прямоугольного треугольника. #include <stdio.h> #include <math.h> void vhypotenuse(float ft,float fu); int main() float fxlen, fylen; printf( Введите длину первого катета: ); scanf( %f ,&fxlen); printf( Введите длину второго катета: ); scanf( %f ,&fylen); vhypotenuse(fxlen,fylen); return (0); void vhypotenuse(float ft,float fu) double dresult; dresult = hypot((double) ft,(double) fu) ; printf( \nДлина гипотенузы равна%g \n , dresult); } Функция hypot (), возвращающая длину гипотенузы, объявлена в файле МАТН.Н и принимает аргументы типа double, поэтому параметры fx и fу функции vhypotenuse() должны быть приведены к этому типу. Аргументы типа double Следующая программа считывает два числа типа double и возводит первое в степень второго. * fdouble. с * Эта программа на языке С возводит число в указанную степень. #include <stdio.h> #include <math.h> void vpower(double dt, double du); int main () { double dtnum, dunum; printf( Введите основание степени: ); scanf( %lf ,&dtnum); printf( \nВведите показатель степени: ); scanf( %lf ,&dunum); vpower(dtnum, dunum); return(0) ; void vpower(double dt, double du) double danswer; danswer = pow(dt, du) ; printf( \n%fв степени%f равно%f\n ,dt, du, danswer);} Массивы в качестве аргументов В следующих примерах показано, как передать в функцию массив данных. В первой программе на языке С функция получает адрес первого элемента массива в виде указателя. * fpointer. с * Эта программа на языке С демонстрирует, как передать в функцию массив * данных. Функция получает указатель на первый элемент массива. #include <stdio.h> void voutput(int *pinums); int main () int iyourarray[7] = {2,7, 15,32,45,3, 1} ; printf( Передаем массив данных ,в функцию.\n ); voutput(iyourarray); return(0); } void voutput (int*pinurns) , { int t ; for(t= 0; t < 7; t++) printf( Массив данных: %d \n ,pinums[t]); } printf( Введите основание степени: ); scanf( %lf ,&dtnum); printf( \nВведите показатель степени: ); scanf( %lf ,&dunum); vpower(dtnum, dunum); return(0); void vpower(double dt, double du) { double danswer; danswer = pow(dt,du) ; printf( \n%fв степени%f равно%f\n ,dt,du, danswer), } По сути, функция voutput () получаетимямассива iyourarray [ ]. Но данное имя одновременно является указателем на первый элемент массива. Это справедливо для любых массивов. В объявлении функции можно также указать, что ее аргументом является массив неопределенного размера. В приводимом ниже примере показано, как реализовать это в языке C++. (Аналогичный подход допустим и в языке С.) farray.cpp Эта программа на языке C++ вычисляет среднее арифметическое ряда чисел. #include <iostream.h> void avg (float fnums [ ]) ; int main () { float iyourarray[8] = (12.3,25.7,82.1,6.0,7.01,0.25,4.2,6.28); cout<< Передаем массив в функцию для вычисления среднего значения. \n ; avg (iyourarray) ; return (0); } void avg (float f nums [ ] ) { int iv; float fsum = 0.0; float faverage; for(iv= 0; iv < 8; iv++) { fsum += fnums[iv]; cout<< lv+1 << -и элемент равен << fnums[iv] << \n ; } faverage = fsum/iv; cout << \nСреднее равно << faverage << \n ; Типы значений, возвращаемых функциями В данном параграфе вы найдете примеры функций, возвращающих значения всех стандартных типов. В предыдущих параграфах мы рассматривали функции, которые не возвращали никаких данных. В таких случаях говорят, что функция возвращает значение типа void. По сути, функция voutput() получает имя массива iyourarray[ ]. Но данное имя одновременно является указателем на первый элемент массива. Это справедливо для любых массивов. В объявлении функции можно также указать, что ее аргументом является массив неопределенного размера. В приводимом ниже примере показано, как реализовать это в языке C++. (Аналогичный подход допустим и в языке С.) farray.cpp Эта программа на языке C++ вычисляет среднее арифметическое ряда чисел. #include <iostream.h> void avg (float f nums [] ) ; int main() { float iyourarray[8] = (12.3,25.7,82.1,6.0,7.01,0.25,4.2,6.28); cout<< Передаем массив в функцию для вычисления среднего значения. \n ; avg (iyourarray) ; return (0); } void avg (float fnums[]) { int iv; float fsum = 0.0; float f average; for(iv= 0; iv < 8; iv++) { fsum += fnums[iv]; cout<< iv+1 << -и элемент равен << fnumsfiv] << \n ; }
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |