c语言加减乘除设计;大神改下要求写一个简单的计算器,输入一个数学表达式 程序输出结果。

如题所述

个人认为,可能你的计划存在一些误解。你使用char型来接收输入,而数字则需要存储在int型数组中。在这种情况下,我推荐你采用一个char型数组和一个int型数组分别存放符号和数值。考虑到操作的复杂性,建议使用栈的数据结构来处理。

首先,初始化两个数组:一个用于存储输入的符号,另一个用于存放数字。同时,定义一个栈来保存数字。每当从输入中读取到一个数字,就将其压入栈中。对于每个符号,根据其类型(加、减、乘、除),从栈中弹出相应的数字进行计算,并将结果压回栈中。如此循环,直至处理完所有输入。

具体实现时,记得对输入进行有效性检查,避免除数为零或其他可能导致程序异常的情况。在计算过程中,注意数据类型转换,确保运算结果正确。

利用栈的数据结构,可以简化表达式的处理逻辑,避免复杂的循环嵌套和条件判断,使代码更加清晰、易于维护。实现这样一个简单的计算器,关键在于正确理解输入格式,合理利用栈的先进后出特性,以及对特殊情况的妥善处理。
温馨提示:内容为网友见解,仅供参考
无其他回答

...大神改下要求写一个简单的计算器,输入一个数学表达式 程序输出...
首先,初始化两个数组:一个用于存储输入的符号,另一个用于存放数字。同时,定义一个栈来保存数字。每当从输入中读取到一个数字,就将其压入栈中。对于每个符号,根据其类型(加、减、乘、除),从栈中弹出相应的数字进行计算,并将结果压回栈中。如此循环,直至处理完所有输入。具体实现时,记得对...

...大神改下要求写一个简单的计算器,输入一个数学表达式 程序输出...
我个人觉得你的想法是不是错了呢,你用char型来输入但是数字是要存储于int型的数组里的吧,这个时候我建议你用一个char型数组和一个int型数组来分别存储符号和运算数,建议你用栈的数据类型。

用c语言设计一个简单的加减乘除计算器
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、输入预处理命令和主函数:#include \/*函数头:输入输出头文件*\/,void main()\/*空类型:主函数*\/。3、定义变量:int a,b,d; \/*定义变量的数据类型为整型*\/,char c;\/*定义变量的数据类型为字符型*\/。4、输入四则运算式:pri...

用c语言编一个计算器程序,能够实现基本的加减乘除,能够输出运算对象...
include <stdio.h>int main(void){double a, b;int chose;printf("欢迎使用我的计算器\\n");while (1){printf("***\\n");printf("1、两数相加\\n");printf("2、两数相减\\n");printf("3、两数相乘\\n");printf("4、两数相除\\n");printf("5、退出\\n");printf("***\\n");scanf(...

用C语言做一个计算器,能实现加减乘除混合运算?
是的,可以使用C语言编写一个计算器程序,能够实现加、减、乘、除等混合运算。下面是一个简单的示例程序:```c include <stdio.h> int main() { char operator;double num1, num2, result;printf("Enter an operator (+, -, *, \/): ");scanf("%c", &operator);printf("Enter two ...

请用C语言设置一个简单的计算器, 加减乘除可以运算,并且 输出的结果要...
以下程序计算加减乘除,先乘除后加减,不支持小括号等其他运算。include <stdio.h> int main(void){ int num[100] = {0}, n = 0, i, a, result = 0;char op;scanf("%d", &a);num[0] = a;do { do { scanf("%c", &op);}while (op == ' ' || op =='\\t');switch (...

求用C语言编写一简单计算器程序,要求:实现简单地加减乘除就行了
fu=='+') return a+b;if(fu=='-') return a-b;if(fu=='*') return a*b;if(fu=='\/') return a\/b;}int fun(char *ss,int n){int i,flag=0;if(n==1) return ss[0]-'0';for(i=0;i<n;i++){if((ss[i]=='+')||(ss[i]=='-'))\/\/扫描加减号{flag = 1;...

怎样用c语言编一个简单的计算器?最简单的
\/\/算术表达式求值 char c,x,theta,prec; \/\/c是每次读取的字符,x是存放脱括号后的多余的括号,theta是运算符,prec是c的前一个字符 float a,b,result;\/\/a、b是每次从运算数栈中取出的要进行运算的数,result存放最终结果 float cc,flag,ii,minus=1; \/\/cc存放由字符串转化而来的浮点数,flag用于标记是否已读...

求用C语言编写一个只有加减乘除的计算器,最好有程序分析吧,谢了
int main(){ float data1, data2; \/\/定义两个数 char op;while (3 == scanf("%f%c%f", &data1, &op, &data2) ) \/\/首先输入两个数字和操作符号 { float result;printf("%.6lf%c%.6lf=", data1, op, data2);\/\/显示输入的数字和操作符号 switch (op) \/\/根据输入的符号判断...

C语言作业,编写一个简单的计算器,实现加减乘除运算,谢谢大家
return 0;}int switchs(double a,double b,char s){ switch (s){case '+':{cls();printf("a+b\\n"); Sleep(500);printf("=%0.3lf+%0.3lf\\n",a,b);Sleep(500);printf("=%0.3lf\\n\\007",a+b);Sleep(500);}break;case '...

相似回答
大家正在搜