/* * ====================================================================== * Demonstrate function calls by computing factorials. * * Copyright (C) 1994-96 by Mark Austin and David Mazzoni. * * This software is provided "as is" without express or implied warranty. * Permission is granted to use this software on any computer system, * and to redistribute it freely, subject to the following restrictions: * * 1. The authors are not responsible for the consequences of use of * this software, even if they arise from defects in the software. * 2. The origin of this software must not be misrepresented, either * by explicit claim or by omission. * 3. Altered versions must be plainly marked as such, and must not * be misrepresented as being the original software. * 4. This notice is to remain intact. * * Written By : D. Mazzoni and M. Austin January 1994 * ====================================================================== */ #include /* Include i/o declarations */ int main( void ) { unsigned long ulFact; /* Holds the factorial */ int iCnt; /* General purpose counter */ unsigned long factorial(int iVal); /* Function declaration */ for(iCnt = 1; iCnt <= 10; iCnt++) { ulFact = factorial(iCnt); printf( "Factorial(%2d) = %8lu\n", iCnt, ulFact ); } } /* * =============================================== * Factorial () : Calculate the factorial of iVal. * =============================================== */ unsigned long factorial(int iVal) { unsigned long ulFact = 1; int iCnt; for(iCnt = 1; iCnt <= iVal; iCnt++) ulFact *= iCnt; return ulFact; }