作业帮 > 综合 > 作业

如何编写一个可以计算任意两个实数的四则运算,求余,乘方的C语言计算器

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/29 10:20:26
如何编写一个可以计算任意两个实数的四则运算,求余,乘方的C语言计算器
望准确回答!不要复制粘贴!最好能有部分解释!
/*
36/7
36 / 7 = 5.14286
12^2
12 ^ 2 = 144
6+9
6 + 9 = 15
8-7
8 - 7 = 1
q
Down
Press any key to continue
*/
#include <stdio.h>

int main() {
\x05int opna,opnb,i,res;
\x05char op;
\x05while(scanf("%d%c%d",&opna,&op,&opnb) == 3) {
\x05\x05switch(op) {
\x05\x05\x05case '+' : printf("%d + %d = %d\n",opna,opnb,opna + opnb); break;
\x05\x05\x05case '-' : printf("%d - %d = %d\n",opna,opnb,opna - opnb); break;
\x05\x05\x05case '*' : printf("%d * %d = %d\n",opna,opnb,opna * opnb); break;
\x05\x05\x05case '/' : 
\x05\x05\x05\x05if(opnb) printf("%d / %d = %g\n",opna,opnb,1.0 * opna / opnb);
\x05\x05\x05\x05else printf("致命错误,除数为0.\n");
\x05\x05\x05\x05break;
\x05\x05\x05case '%' : 
\x05\x05\x05\x05if(opnb) printf("%d %% %d = %d\n",opna,opnb,opna % opnb);
\x05\x05\x05\x05else printf("致命错误,除数为0.\n");
\x05\x05\x05\x05break;
\x05\x05\x05case '^' :
\x05\x05\x05\x05if(opna == 0) printf("致命错误,底数为0.\n");
\x05\x05\x05\x05else {
\x05\x05\x05\x05\x05res = 1;
\x05\x05\x05\x05\x05for(i = 0; i < opnb; ++i) res *= opna;
\x05\x05\x05\x05\x05printf("%d ^ %d = %d\n",opna,opnb,res);
\x05\x05\x05\x05}\x05\x05\x05\x05 
\x05\x05\x05\x05break;
\x05\x05\x05default  : printf("不能识别的运算符:%c\n",op); break;
\x05\x05}
\x05}
\x05puts("Down");
\x05return 0;
}