标题:能实现简单的+-*/运算,并支持用上一次结果作为运算数
只看楼主
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
结帖率:82%
已结贴  问题点数:20 回复次数:2 
能实现简单的+-*/运算,并支持用上一次结果作为运算数
程序代码:
#include <stdio.h>
#include<stdlib.h>
float js(float,char, float);
int main(int argc, char * argv[])
{
    float a=0,b=0;
   float jg=0;
   int  flag=0;
   char c;
   printf("请输入运算数与运算符号只能+-*/运算如12+45\n");
   while(1)
        {
      if(!flag)
            {scanf("%f %c %f",&a,&c,&b);
            printf("%g",js(a,c,b));
            jg=js(a,c,b);
           flag=1;}
         else 
            {scanf(" %c%f",&c,&b);
           printf("%g",js(jg,c,b));
            jg=js(jg,c,b);
         }
        } 
     system("pause");
    return 0;
}

 float js(float x,char c,float y)
{
    if(c=='+')
     return x+y;
    else if(c=='-')
     return x-y;
   else if(c=='/' && y!=0)
          return x/y;
    else if(c=='*')
        return x*y;
    else 
        {printf("只能进行+-*/运算且0不能作除数。\n");
        return 0;}
}

如第一次输入:12+45
第二次输入*2
搜索更多相关主题的帖子: 运算 float js printf return 
2018-04-30 11:04
nosnoy
Rank: 9Rank: 9Rank: 9
来 自:mcu
等 级:贵宾
威 望:14
帖 子:540
专家分:1158
注 册:2016-9-17
得分:0 
scanf(" %c%f",&c,&b);
           printf("%g",js(jg,c,b));
            jg=js(jg,c,b);//这一句语句为啥不上移一句,何必多运算一次呢

穷举是最暴力的美学
2018-04-30 13:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:20 
可以先scanf("%f",&a);
然后再scanf(" %c%f",&c,&b);
再调用js函数~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-30 16:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486496-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.113571 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved