#include #include main() { int ans,num1,num2,gcd = 1,lcm = 1; static short int clr = 0; if(clr == 0) /* Do All these in first iteration only*/ { clrscr(); printf("\nThis program will calculate the G C D and L C M of 2 positive numbers"); printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); clr++; } /*get 'number 1'*/ get_num(&num1,1); /*get 'number 2'*/ get_num(&num2,2); if(num2>num1) swap(&num2,&num1); find_gcd(num1,num2,&gcd); find_lcm(num1,num2,&lcm); print_num(gcd,'g'); print_num(lcm,'l'); ans = repeat(); if(ans == 1) { main(); } else if(ans == 0) { printf("\n\t\tHit any key ..."); getch(); print_rajesh(); } } swap(number2,number1) int *number1,*number2; { int i = 1; int temp = *number2; /*Temproray variable*/ *number2 = *number1; *number1 = temp; return(i); } get_num(number,flag) int *number,flag; { do { switch(flag) { case 1: printf("\nEnter the first number:"); break; case 2: printf("\nEnter the second number:"); } scanf("%d",number); } while(*number <= 0); } find_gcd(num_1,num_2,gcd) int num_1,num_2,*gcd; { int i; for(i = 1;i <= num_2;i++) { if((num_1 % i == 0) && (num_2 % i == 0)) *gcd = i; } } find_lcm(num1,num2,lcm) int num1,num2,*lcm; { int i; for( i = (num1*num2) ; i >= num1 ; i--) { if( (i % num1 == 0) && (i % num2 == 0)) *lcm = i; } } print_num(num,g_or_l) int num; char g_or_l; { switch(g_or_l) { case 'g': printf("\n\nThe G C D of the numbers is %d",num); break; case 'l': printf("\n\nThe L C M of the numbers is %d",num); } } repeat() { char response[4]; printf("\n\n\nDo once more? (y/n) :"); scanf("%3s",response); if(response[0] == 'y' || response[0] == 'Y') { return(1); } else { return(0); } } /*************************************************************************************/ /* A C Function to print rajesh in a stylish way can (should) be used in any cprogram*/ /*************************************************************************************/ print_rajesh() { clrscr(); printf("\nThis program made by :"); printf("\n\n\n\n\n\007"); printf(",##########. ,####. ,####.\n"); printf(":#############. `####; :####.\n"); printf(":#####. :#####. :####.\n"); printf(":#############; `#########. ,####. ,#######. ,########. :###########.\n"); printf(":############; :####. :####. ,###. :###. ,####. :#. :###########.\n"); printf(":##########. :#########. :####.,####. :####.`##########. :####. :####.\n"); printf(":###########. ,############. :####.:###########; `#########.:####. :####.\n"); printf(":############. :#####. :####. :####.`#####. :#####;:####. :####.\n"); printf(":#####. `###### ############. :####. `#########. ,#########; :####. :####.\n"); printf("`#####; `######; `##########; :####. `#####; `#######; `####; `####;\n"); printf(" #####"); printf("\n\n\n\tRajesh _ThE gReAt in 2k.....\n\n\n\t\t\tHit any key to continue....."); getch(); }