Calculation of permutation and combination using functions in C
This program is an example of using functions. It teaches you how to declare a function, define it and call. Here functions for calculating factorial and permutation/combination is used. Once you see the code you will be able to understand following
- Function declaration, definition, calls.
- Use of switch statement in a program.
- How to write a structured program.
- How to make menu in C
The complete source code and output are given below.
Source Code
//calculation of permutation and combination using function in C #include<stdio.h> #include<conio.h> //for getch() function //function declaration must be //written before main function, //function definition is optional //you can write befor or after main int factorial(int n){ int fact = 1; int i; for(i = n; i > 0; i--){ fact = fact*i; } return fact; } int permutation(int n,int r){ int per; per = factorial(n)/(factorial(n-r)); return per; } int combination(int n,int r){ int comb; //local variable comb = factorial(n)/(factorial(n-r)*factorial(r)); return comb; //return statement } int main(){ int choice; int n,r; while(1){ printf("\n1. Permutation\n2. Combination\n3. Factorial\n"); printf("Choose option: "); scanf("%d",&choice); switch(choice){ //start of switch statement case 1: printf("Enter value of n,r: "); scanf("%d%d",&n,&r); //calculation of combination with function call printf("Permutation P(%d,%d) = %d",n,r,permutation(n,r)); break; case 2: printf("Enter value of n,r: "); scanf("%d%d",&n,&r); printf("Combination C(%d,%d) = %d",n,r,combination(n,r)); break; case 3: printf("Enter value of n: "); scanf("%d",&n); printf("The factorial %d! = %d",n,factorial(n)); break; default: //if user enter other than 1 or 2 printf("Invalid choice! Enter either 1 or 2"); } //end of switch statement printf("\nWant another calculation?(y/n):"); if(getche()=='n') break; } return 0; }//end of main