#include <stdio.h>
#include<math.h>
#define PI 3.141592653
#define MAXN 2
double factorial(double x);
main() {
int variable;
double array[MAXN];
char parameter1, parameter2;
static double result;
for (variable = 0; variable < MAXN && parameter1 != '\n'; variable++) {
if (parameter1 != '+') {
scanf("%lf", &array[variable]);
}
parameter1 = getchar();
if (variable == 0) {
parameter2 = parameter1;
}
if(parameter1=='!'){
break;
}
if (parameter1 == 's') {
getchar();
getchar();
}
if (parameter1 == 'c') {
getchar();
getchar();
}
if (parameter1 == 't') {
getchar();
getchar();
}
if (parameter1 == 'l') {
getchar();
}
if (parameter1 == '+') {
scanf("%lf", &array[variable + 1]);
}
}
if (parameter2 == '+') {
result = array[0] + array[1];
printf("%g", result);
} else if (parameter2 == '-') {
result = array[0] - array[1];
printf("%g", result);
} else if (parameter2 == '*') {
result = array[0] * array[1];
printf("%g", result);
} else if (parameter2 == '/') {
result = array[0] / array[1];
printf("%g", result);
} else if (parameter2 == '^') {
result = pow(array[0], array[1]);
printf("%g", result);
} else if (parameter2 == '%') {
result = fmod(array[0], array[1]);
printf("%g", result);
} else if (parameter2 == 's') {
result = sin(array[1] * PI / 180);
if (array[1] == 45) {
printf("√2/2");
} else if (array[1] == 60) {
printf("√3/2");
} else
printf("%.2lf", result);
} else if (parameter2 == 'c') {
result = cos(array[1] * PI / 180);
if (array[1] == 45) {
printf("√2/2");
} else if (array[1] == 30) {
printf("√3/2");
} else
printf("%.2lf", result);
} else if (parameter2 == 't') {
result = sin(array[1] * PI / 180) / cos(array[1] * PI / 180);
if (array[1] == 60) {
printf("√3");
} else if (array[1] == 30) {
printf("√3/3");
} else
printf("%.2lf", result);
} else if (parameter2 == 'l') {
printf("%lf", log(array[1]));
} else if (parameter2 == '!') {
printf("%lf", factorial(array[0]));
}
}
double factorial(double x) {
double result = 1;
for (int variable = 1; variable <= x; variable++) {
result = result * variable;
}
return result;
}
用C语言写一个可识别运算符的计算器
最新推荐文章于 2023-02-08 15:40:03 发布