新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
十多年的恒山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整恒山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“恒山网站设计”,“恒山网站推广”以来,每个客户项目都认真落实执行。
void
js(float *i,int j,char c)
{
float m;
scanf("%f",m);
if(c=='*')
i[j]=i[j]*m;
else
i[j]=i[j]/m;
}
void js2(float *i, char *c, int j, int k)
{
int l = 0;
for (int o=0; o=k; o++)
{
if (c[o] == '+')
i[l+1] = i[l] + i[l+1];
else
i[l+1] = i[l] - i[l+1];
l++;
}
}
int
main(void)
{
int ic=0,j=0,k=0;
float i[100];
char c[100];
while(1)
{
if(ic==0)
{
scanf("%f",i[j++]);
ic=1;
}
if(ic=1)
{
c[k++]=getchar();
if(c[k-1]=='*'||c[k-1]=='/')
{
js(i,j-1,c[k-1]);
k--;
continue ;
}
else if(c[k-1]=='\n')
break;
ic=0;
}
}
js2(i,c,j-1,k-2);
printf("%f", i[j-1]);
return 0;
}
算法流程:
1,如果读入数字就把它存入数组中,
2,如果读入加,减号就存如另一个数组用,如果读入乘 除号,就再读入一个数字,从存数字的数组拿出两个数字进行乘 除运算。把结果存入数组中,这么重复直到读入回车键的符号。
3,读到回车符号后,就从存符号的数组中拿出一个符号,再从存数字的数组中拿出两个数字进行相应计算,接着再拿出一个数字一个符号和之前计算结果进行相应计算,一直重复,直到所有符号都拿出来了。
4,剩下的最后一个数字就是计算结果。
注:这个是我是我很久之前回答别人的,地址是
/*Note:YourchoiceisCIDE*/#include"stdio.h"#include"stdlib.h"#include"ctype.h"intn=0;charrecord[20];floatproduct();floatchange();floatmuli(){floatsumm;summ=product();while(record[n]=='-'||record[n]=='+'){switch(record[n]){case'+':n++;summ+=product();break;case'-':n++;summ-=product();break;}}returnsumm;}floatproduct(){floatsump;sump=change();while(record[n]=='*'||record[n]=='/'){switch(record[n]){case'*':n++;sump*=change();break;case'/':n++;sump/=change();break;}}returnsump;}floatchange(){floatsumc;charrec[20],i=0;if(record[n]=='('){n++;sumc=muli();}if(record[n]==')')n++;while(isdigit(record[n])||record[n]=='.'){while(isdigit(record[n])||record[n]=='.')rec[i++]=record[n++];rec[i]='\0';sumc=atof(rec);}returnsumc;}voidmain(){while(1){n=0;scanf("%s",record);printf("%s=%g\n",record,muli());}}这个是比较简单的。。。但是有点难理解。。。不过运行绝对正确。。还支持括号。。。但是在这个程序里面我加没有出错处理。。。另一种方法是用栈写。。。这个好理解。。但是麻烦。。。
#include stdio.h
void main()
{
//定义变量储存数据
double a,b;
char c;
//提示并接收数据
printf("请任意输入两个浮点数(以逗号隔开):");
scanf("%lf,%lf",a,b);
//提示输入运算符
printf("请输入+(加)或-(减)进行运算:");
scanf("%c",c);
//进行判断
if(c=="+")
{
printf("%lf%c%lf=%lf/n",a,c,b,a+b);
}
else if(c=="-")
{
printf("%lf%c%lf=%lf/n",a,c,b,a-b);
}
eles if(c!="+" || c!="-")
{
printf("输入错误!/n");
}
}