该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大一c语言实验题简易计算器程序,编译正确,执行总是不对,跪求纠错啊!#include
#include
#include
int fact(double x)
{
int i,jc=1;
for(i=1;i<=x;i++)
jc=jc*i;
return(jc);
}
int main()
{
p0:printf("---------------------计算器---------------------\n");
printf(" 简易型/科学型/退出 ");
char st,nd,rd;
double x,y,answer;
scanf("%c",&st);
system("cls");
switch(st)
{
case 'j':
printf("加/减/乘/除/向上/退出");
scanf("%c",&nd);
system("cls");
switch(nd)
{
case 'a':
scanf("%lf %lf",&x,&y);
answer=x+y;
printf("%lf+%lf=%lf",&x,&y,&answer);
break;
case 's':
scanf("%lf %lf",&x,&y);
answer=x-y;
printf("%lf-%lf=%lf",&answer);
break;
case 'm':
scanf("%lf %lf",&x,&y);
answer=x*y;
printf("%lf*%lf=%lf",&x,&y,&answer);
break;
case 'd':
scanf("%lf %lf",&x,&y);
answer=x/y;
printf("%lf/%lf=%lf",&x,&y,&answer);
break;
case 'r':
goto p0;
break;
case 'x':
exit(0);
break;
}
break;
case 'k':
printf("正弦/余弦/正切/x^y/ln/log/n!/1/x/立方/平方
/向上/退出");
scanf("%c",&rd);
system("cls");
switch(rd)
{
case 'i':
scanf("%lf",&x);
answer=sin(x);
printf("sin%lf=%lf",&x,&answer);
break;
case 'c':
scanf("%lf",&x);
answer=cos(x);
printf("cos%lf=%lf",&x,&answer);
break;
case 't':
scanf("%lf",&x);
answer=sin(x)/cos(x);
printf("tan%lf=%lf",&x,&answer);
break;
case 'm':
scanf("%lf" "%lf",&x,&y);
answer=pow(x,y);
printf("%lf^%lf=%lf",&x,&y,&answer);
break;
case 'e':
scanf("%lf",&x);
answer=log10(x);
printf("ln(%lf)=%lf",&x,&answer);
break;
case 's':
scanf("%lf" "%lf",&x,&y);
answer=log(x)/log(y);
printf("log%lf(%lf)=%lf",&y,&x,&answer);
break;
case 'j':
scanf("%lf",&x);
answer=fact(x);
printf("%lf!=%lf",&x,&answer);
break;
case 'd':
scanf("%lf",&x);
answer=1/x;
printf("1/%lf=%lf",&x,&answer);
break;
case 'u':
scanf("%lf",&x);
answer=x*x*x;
printf("%lf^3=%lf",&y,&x,&answer);
break;
case 'p':
scanf("%lf",&x);
answer=x*x;
printf("%lf^2=%lf",&x,&answer);
break;
case 'r':
goto p0;
break;
case 'x':
exit(0);
break;
}
break;
case 'x':
exit(0);
break;
}
return 0;
}