计算器!求助!
  • 板块学术版
  • 楼主xy210230
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/5 16:36
  • 上次更新2024/6/5 19:40:10
查看原帖
计算器!求助!
1064075
xy210230楼主2024/6/5 16:36
#include<bits/stdc++.h>
using namespace std;
string a;
int main()
{
    
    getline(cin,a);
    double b=0,c=1;
    int d=0;
    for(int i=0;i<a.size();i++)
    {
        if(a[i]>='0'&&a[i]<='9'&&d==0)
        {
            b=b*10+a[i]-48;
            continue;
        }
        else if(a[i]>='0'&&a[i]<='9'&&d!=0)
        {
            c=c*10+a[i]-48;
            continue;
        }
        if(a[i]=='+')
        {
            
            for(int j=i;j<a.size();j++)
            {
                if(a[j]>='0'&&a[j]<='9'&&d!=0)
        		{
            		c=c*10+a[j]-48;
                    continue;
        		}
                else
                    break;
            }
            b+=c;
            d++;
            c=0;
        }
        else if(a[i]=='-')
        {
            for(int j=i;j<a.size();j++)
            {
                if(a[j]>='0'&&a[j]<='9'&&d!=0)
        		{
        	    	c=c*10+a[j]-48;
                    continue;
        		}
                else
                    break;
            }
            b-=c;
            d++;
            c=0;
        }
        else if(a[i]=='*')
        {
            for(int j=i;j<a.size();j++)
            {
                if(a[j]>='0'&&a[j]<='9'&&d!=0)
        		{
        		    c=c*10+a[j]-48;
                    continue;
        		}
                else
                    break;
            }
            b*=c;
            d++;
            c=0;
        }
        else if(a[i]=='/')
        {
            for(int j=i;j<a.size();j++)
            {
                if(a[j]>='0'&&a[j]<='9'&&d!=0)
        {
            c=c*10+a[j]-48;
                    continue;
        }
                else
                    break;
            }
            b=b/c/1.0;
            d++;
            c=0;
        }
    }
    cout<<b;
}```
2024/6/5 16:36
加载中...