| Close | Back |
#include<stdio.h>
#include<conio.h>
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();
}