📄 arithmet.c
字号:
/* TO PERFORM VARIOUS OPERATIONS ON FLOATING POINT REPERSENTATION */
#include<stdio.h>
#include<math.h>
void add(float,int,float,int);
void sub(float,int,float,int);
void mul(float,int,float,int);
void div(float,int,float,int);
int e3,d;
float m3;
void main()
{
int e1,e2,ch;
float m1,m2;
char yn;
clrscr();
printf("\n\t\tEnter the mantisa and exponent of first no:\n");
scanf("%f%d",&m1,&e1);
printf("\n Enter the mantisa and exponent of second no:\n");
scanf("%f%d",&m2,&e2);
do
{
printf("\n\t ***** ARITHMETIC OPERATIONS *****\n");
printf("\n\t 1. Addition");
printf("\n\t 2. Subtraction");
printf("\n\t 3. Multiplication");
printf("\n\t 4. Division");
printf("\n\t 5. Exit");
printf("\n\t Enter Your Choice:");
scanf("%d",&ch);
switch(ch)
{
case 1: add(m1,e1,m2,e2);
break;
case 2: sub(m1,e1,m2,e2);
break;
case 3: mul(m1,e1,m2,e2);
break;
case 4: div(m1,e1,m2,e2);
break;
case 5: exit(0);
break;
default:printf("\n Sorry Wrong Choice!");
getch();
exit(0);
}
printf("\n Do You Want to Perform More Operations(y/n):");
fflush(stdin);
scanf("%c",&yn);
clrscr();
}
while(yn == 'y' || yn =='Y');
}
void add(float m1,int e1,float m2,int e2)
{
d = abs(e1-e2);
if (e1 > e2)
{
m2 = m2/pow(10,d);
e3 = e1;
m3 = m1 + m2;
}
else if(e2>e1)
{
m1=m1/pow(10,d);
e3 = e2;
m3 = m1 + m2;
}
else
{
m3= m1 + m2;
e3 = e1;
}
if(fabs(m3)>=1.0)
{
m3 = m3 / 10;
e3 = e3 + 1;
}
if(e3<99)
{
printf("\nThe Additon Is : ");
printf("Mantissa = %0.4f Exponent =%d\n\n",m3,e3);
}
else
printf("\n\n Overflow! \n\n");
}
void sub(float m1,int e1,float m2,int e2)
{
d = abs(e1-e2);
if(e1 > e2)
{
m2 = m2/pow(10,d);
e3 = e1;
m3 = m1 - m2;
}
else if(e2>e1)
{
m1=m1/pow(10,d);
e3 = e2;
m3 = m1 - m2;
}
else
{
m3 = m1 - m2;
e3 = e1;
}
if(e3 > -99)
{
printf("\nTHE Subtraction Is : ");
printf("%.4f E%d\n\n",m3,e3);
}
else
printf("\n\n Underflow! \n\n");
}
void mul(float m1,int e1,float m2,int e2)
{
m3 = m1 * m2;
e3 = e1 + e2;
if(fabs(m3)>1.0)
{
m3 = m3/10;
e3 = e3 + 1;
}
if(fabs(m3) < .1)
{
m3 = m3 * 10;
e3 = e3 - 1;
}
if((e3 >99) || (e3 <-99))
printf("\n OOPS!!! Out Of Range!!!");
else
{
printf("\nThe Multiplication : ");
printf("%.4f E%d\n\n",m3,e3);
}
}
void div(float m1,int e1,float m2,int e2)
{
m3 = m1 / m2;
e3 = e1 - e2;
if(fabs(m3)>1.0)
{
m3 = m3/10;
e3 = e3 + 1;
}
if(fabs(m3)<0.1)
{
m3 = m3 * 10;
e3 = e3 - 1;
}
if((e3 >99) || (e3 <-99))
printf("\n OOPS!!! Out Of Range!!!");
else
{
printf("\nTHE Division Is : ");
printf("%.4f E%d\n\n",m3,e3);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -