A good example would be matrix operations
input-for taking the matrix from user
output-for displaying dsired matrix
subtn-subtracting
multn-multiplying

Code: C
`#include<stdio.h>#include<conio.h>void input(int (*in)[3]);void output(int (*out)[3]);void addtn(int (*x)[3],int (*y)[3]);void subtn(int (*x)[3],int (*y)[3]);void multi(int (*x)[3],int (*y)[3]);void main(){int mat1[3][3],mat2[3][3],choice;int i,j;clrscr();printf("\nEnter the elements of first matrix:\n");input(mat1);printf("\nEnter the elements of second matrix:\n");input(mat2);do    {    clrscr();    printf("\t\t\t 1) ADDITION\n");    printf("\t\t\t 2) SUBTRACTION\n");    printf("\t\t\t 3) MULTIPLICATION\n");    printf("\t\t\t 4) EXIT\n\n\n");    printf("\n\nEnter Your choice: ");    scanf("%d",&choice);        switch(choice)        {        case 1:            addtn(mat1,mat2);            break;        case 2:            subtn(mat1,mat2);            break;        case 3:            multi(mat1,mat2);            break;        case 4:            exit(1);        default :            printf("Not in the list of choices. Enter from the list only!");        }}while(1);}//********************************INPUT***************************************void input(int (*in)[3]){int i,j;for(i=0;i<3;i++){    for(j=0;j<3;j++)    {        printf("\nEnter the Element of row,%d and col,%d: ",i+1,j+1);        scanf("%d",(*(in+i)+j));    }}getch();clrscr();}//********************************DISPAY MATRIX******************************void output(int (*out)[3]){int i,j;for(i=0;i<3;i++){    for(j=0;j<3;j++)    {    printf("%d\t",*(*(out+i)+j));    }printf("\n");}}//*******************************ADDITION*************************************void addtn(int (*x)[3],int (*y)[3]){int i,j,c[3][3];for(i=0;i<3;i++)    for(j=0;j<3;j++)        c[i][j]=0;printf("\nThe 1st matrix Entered is:\n");output(x);printf("\nThe 2nd matrix Entered is:\n");output(y);for(i=0;i<3;i++){    for(j=0;j<3;j++)    {        c[i][j]= *(*(x+i)+j)+ *(*(y+i)+j);    }}printf("\nThe resultant sum matrix is:\n");output(c);getch();clrscr();}//**************************** subtraction ******************************void subtn(int (*x)[3],int (*y)[3]){int i,j,c[3][3];for(i=0;i<3;i++)    for(j=0;j<3;j++)        c[i][j]=0;printf("\nThe 1st matrix Entered is:\n");output(x);printf("\nThe 2nd matrix Eneterd is:\n");output(y);for(i=0;i<3;i++)        for(j=0;j<3;j++)        {            c[i][j]=*(*(x+i)+j)-*(*(y+i)+j);        }printf("\nThe resultant Difference matrix is:\n");output(c);getch();clrscr();}//**************************MULTIPLICATION***********************************void multi(int (*x)[3],int (*y)[3]){int i,j,k,c[3][3];for(i=0;i<3;i++)    for(j=0;j<3;j++)        c[i][j]=0;printf("\nThe 1st matrix Entered by you is:\n");output(x);printf("\nThe 2nd matrix Entered by you is:\n");output(y);for(i=0;i<3;i++){    for(j=0;j<3;j++)        for(k=0;k<3;k++)        {        c[i][j]+=(*(*(x+i)+k))*(*(*(y+k)+j));        }}printf("\nThe resultant Product matrix is:\n");output(c);getch();clrscr();}`