该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
void menu()
{
printf("***欢迎使用简单计算器***\n");
printf("****************************\n");
printf("*----------A.加法 ---------*\n");
printf("*----------B.减法----------*\n");
printf("*----------C.乘法----------*\n");
printf("*----------D.除法----------*\n");
printf("*----------E.N次方---------*\n");
printf("*----------F.开方----------*\n");
printf("*----------G.进制转换------*\n");
printf("*----------0.结束----------*\n");
printf("****************************\n");
}
int main()
{
menu();
float p, q, sum;
char suanfa;
printf("请输入你要进行的运算:");
scanf("%c",&suanfa);
printf("请输入数值:");
switch (suanfa)
{
//加法运算
case 'A':
{
scanf("%f %f", &p, &q);
sum = p+q;
printf("%.2f + %.2f = %.2f", p, q, sum);
scanf("%c",&suanfa);
break;
}
//减法运算
case 'B':
{
scanf("%f %f", &p, &q);
sum = p- q;
printf("%.2f - %.2f = %.2f", p, q, sum);
scanf("%c",&suanfa);
break;
}
//乘法运算
case 'C':
{
scanf("%f %f", &p, &q);
sum = p*q;
printf("%.2f * %.2f = %.2f", p, q, sum);
scanf("%c",&suanfa);
break;
}
//除法运算
case 'D':
{
scanf("%f %f", &p, &q);
if (q == 0)
printf("输入错误,除数不能为0,请重新输入!");
else
{
sum = p / q;
printf("%.2f / %.2f = %.2f", p, q, sum);
}
scanf("%c",&suanfa);
break;
}
//N次方
case 'E':
{
scanf("%f%f", &p,&q);
sum = pow(p,q);
printf("%.2f的%.2f次方等于%.2f", p,q,sum);
scanf("%c",&suanfa);
break;
}
//开方运算
case 'F':
{
scanf("%f", &p);
sum = sqrt(p);
printf("%.2f的开方等于%.2f", p, sum);
scanf("%c",&suanfa);
break;
}
//进制转换
case'G':
{
char ku[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int zh[32],i=0,w,j;
long int b,y;
printf("请输入一个十进制数:\n");
scanf("%d",&y);
b=y;
printf("请输入要转换为的进制:");
scanf("%d",&w);
printf("\n");
do
{
zh[i]=y%w;
i++;
y=y/w;
}
while(y!=0);
printf("把十进制的%ld转换为%d进制:",b,w);
for(i--;i>=0;i--)
{
j=zh[i];
printf("%c",ku[j]);
}
printf("\n");
break;
}
default:
break;
return 0;
}
}
各位大佬们这个如何使计算器上一次的运算结果作为下一次运算的操作数哇?