三九宝宝网宝宝教育教学论文

如何用C语言实现多个操作数的基本四则运算

12月30日 编辑 39baobao.com

[C语言四则运算程序高手帮帮忙!]#include #include #include #include int scan() { char s[100]; int i,t,z=0; do { z=0; gets(s); for(i=0;s[i]!='\0';i++) if(s[i]'9') break; if(i>=strlen(s)) for(t=...+阅读

#include #include #include #include void SplitPrem(char *str); float Combine(); char str[200],str1[200],str2[50][30],operate_c[50],sub_str[30]; int operate_2str[50]; int strnum=0,operatenum=0; /* 子字符串个数,操作符个数 */ int i,j,k,flag; float f=0.0,str_f[50]; void main() { float temp; printf("请输入一个字符串表达式:\n"); gets(str); strcpy(str1,str); SplitPrem(str1); temp=Combine(); printf("%s=%g\n",str,temp); } /* 分解为子字符串和操作符 */ void SplitPrem(char *str1) { j=strlen(str1); sub_str[0]=str1[0]; k=1; for( i=1; i { if(str1[i]=='*'||str1[i]=='/'||str1[i]=='+'||str1[i]=='-') { sub_str[k]=0; strcpy(str2[strnum],sub_str); operate_c[operatenum]=str1[i]; operate_2str[operatenum]=strnum; strnum++; operatenum++; k=0; } else { sub_str[k]=str1[i]; k++; } } if(k>0) { sub_str[k]=0; strcpy(str2[strnum],sub_str); strnum++; } for( i=0; i str_f[i]=atof(str2[i]); /* 字符串转化为浮点数 */ } /*先计算乘除,后计算加减,每计算一次,子字符串和操作符向前移动 */ float Combine() { while

(1) { flag=0; for( i=0; i { if(operate_c[i]=='*'||operate_c[i]=='/') { if(operate_c[i]=='*') { f=str_f[operate_2str[i]]*str_f[operate_2str[i]+1]; str_f[operate_2str[i]]=f; for( j=i; j { operate_c[j]=operate_c[j+1]; operate_2str[j]=operate_2str[j+1]-1; } for( j=operate_2str[i]+1; j str_f[j]=str_f[j+1]; operatenum=operatenum-1; strnum=strnum-1; flag=1; } else { f=str_f[operate_2str[i]]/str_f[operate_2str[i]+1]; str_f[operate_2str[i]]=f; for( j=i; j { operate_c[j]=operate_c[j+1]; operate_2str[j]=operate_2str[j+1]-1; } for( j=operate_2str[i]+1; j str_f[j]=str_f[j+1]; operatenum=operatenum-1; strnum=strnum-1; flag=1; } } } if(flag==0)break; } while

(1) { flag=0; for( i=0; i { if(operate_c[i]=='+'||operate_c[i]=='-') { if(operate_c[i]=='+') { f=str_f[operate_2str[i]]+str_f[operate_2str[i]+1]; str_f[operate_2str[i]]=f; for( j=i; j { operate_c[j]=operate_c[j+1]; operate_2str[j]=operate_2str[j+1]-1; } for( j=operate_2str[i]+1; j str_f[j]=str_f[j+1]; operatenum=operatenum-1; strnum=strnum-1; flag=1; } else { f=str_f[operate_2str[i]]-str_f[operate_2str[i]+1]; str_f[operate_2str[i]]=f; for( j=i; j { operate_c[j]=operate_c[j+1]; operate_2str[j]=operate_2str[j+1]-1; } for( j=operate_2str[i]+1; j str_f[j]=str_f[j+1]; operatenum=operatenum-1; strnum=strnum-1; flag=1; } } } if(flag==0)break; } return f; }

以下为关联文档:

C语言问题四则运算程序我怀疑你代码的这段有问题: else if(ch == ')') { optr = MathOptr(ch); while(!Stack1Empty(&OptrStack) & Peek1(&OptrStack).stackprecedence >= optr.inputprecedence) //...

四则运算 c语言编程#include "stdio.h" #include "stdlib.h" #include "ctype.h" int n=0; char record[20]; float product(); float change(); float muli() { float summ; summ=product(); while(...

求c语言编写四则运算程序#include"stdafx.h" #include #include #include char token;/*global token variable*/ /*function prototypes for recursive calls*/ float exp(void); float term(void);...

用c语言编四则运算用C++写的,用C的话,函数方面很繁琐... 实现不止是整数,小数也可以,但算式中不要有负数,结果中可以有. 2000字不够用,分两部分,前一部分一些全局变量和类的申明: #include #include #...

C语言四则运算怎样编程呀如果只要最简单的那种计算(就是只计算+-*/并且只是输入X*X这样的式子)的话 直接用SWITCH就可以了 main() { float a,b,sum; char c; scanf("%f%c%f",&a,&c,&b); switch(c) { cas...

C语言编写程序四则运算法则1234567891011121314151617# include <stdio.h>int main(void){ int a,b,s; char c; scanf("%d%c%d",&a,&c,&b); switch(c) { case '+':s=a+b;break; case '-':s=a-b;break; c...

用简单的C语言实现带括号的四则运算#include/*库文件包含*/ #include/*用于字符串操作*/ #include/*用于exit函数*/ /************************************************************************** int check...

C语言简单计算三角函数四则运算幂函数指数函数常用数学函数 C语言系统提供了400多个标准函数(称为库函数),设计程序时可以直接使用它们。 库函数主要包括数学函数、字符处理函数、类型转换函数、文件管理函数及内存管理 函...

c语言中和运算符的操作数C语言中,% 是求余运算符(模运算符),特点是: 是双目运算符,具有左结合性。 要求参与运算的量均为整型,不能应用于float或double类型。 求余运算的结果等于两数相除后的余数,整除时结...

推荐阅读
图文推荐