首页 > 其他分享 >算数(从左往右依次计算)

算数(从左往右依次计算)

时间:2024-02-20 21:55:35浏览次数:22  
标签:int else a1 依次 算数 从左往右 size

#include <bits/stdc++.h>
using namespace std;
int main(){
    string s;
    getline(cin,s);
    char x;
    int a,a1,s1 = s.size();
    bool have = true;
    for(int i = 0;i<s1;i++){
        if((s[i]=='+' || s[i]=='-' || s[i]=='*' || s[i]=='/') && have){
            x = s[i];
            a = stoi(s.substr(0,i));
            s = s.substr(i+1);
            have = false;
        }
        if(have){
            continue;
        }
        int j = 0;
        while(1){
            if(s[j]=='+' || s[j]=='-' || s[j]=='*' || s[j]=='/' || j>=s.size()-1){
                break;
            }else{
                j++;
            }
        }
        a1 = stoi(s.substr(0,j+1));
        if(x=='+'){
            a += a1;
        }else if(x=='-'){
            a -= a1;
        }else if(x=='*'){
            a *= a1;
        }else if(x=='/'){
            a /= a1;
        }
        x = s[j];
        if(s.size()<=j+1){
            break;
        }
        s = s.substr(j+1);
    }
    cout<<a;
    return 0;
}

 

标签:int,else,a1,依次,算数,从左往右,size
From: https://www.cnblogs.com/wangyihang-xh/p/18024136

相关文章

  • C语言解题 || 计算数字矩阵的2条对角线之和
    题目:写一个函数calc_matrix(intn)实现如下功能:先输入整数n,然后输入nn个整数,构成nn矩阵,计算对角线上的数之和,并输出该和。例如:先输入3,然后输入1,2,3,4,5,6,7,8,9对角线上是数之和为:1+5+9+3+7=25。写出完整的程序代码,在main函数中调用上述函数calc_matrix题目分析:通过研究数......
  • 按大小顺序依次输出abc的值
    include<stdio.h>intmain(){inta,b,c;printf("请输入三个整数:");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c){if(b>c){printf("从大到小输出三个数:%d%d%d",a,b,c);}else{printf("从大到小输出三个数:%d%d%d&q......
  • [王崧-数论01]从自然数到算数基本定理
    $$\color{indigo}\large\text{[王崧-数论01]从自然数到算数基本定理}$$ $\large\mathbb{Part\01}\text{自然数,归纳和最小数原理}$$\text{1.1自然数}$$\mathbb{N_1=\{1,2,3,...\}}$$\mathbb{N_0=\{0,1,2,...\}}$$\mathbb{Z=\{0,\pm1,\pm2,\pm3...\}}$$\text{“道生一,一......
  • 依次替换(函数集团)
    问题:将以下考题中的空格替换为正确答案。这个以前几乎不可能用函数解决的问题现在已经不是问题了。=REDUCE(A2,TEXTSPLIT(B2,";"),LAMBDA(x,y,SUBSTITUTE(x,"",y,1)))第一次运算:x指代A2,y指代TextSplit结果的第一个值,利用Substitute将x中第一个空格替换成y;第二次运算:x指......
  • 算数基本定理
    算数基本定理定理对于整数\(a>1\),必有\(a=p_1^{a_1}p_2^{a_2}\dotsp_s^{a_s}\),其中\(p_j(1\leqj\leqs)\)是两两不相等的质数,\(a_j(1\leqj\leqs)\)表示对应质数的幂次。在不计次序的意义下,该分解式是唯一的。运用于质因数分解:intDecomposition(intx,inta[]){......
  • ABAP 7.58 中支持任意精度算数的新类
    1.引言通常,有两种对编程语言的改进。第一种是让困难的事情变得简单,第二种是让不可能的事情变为可能。本文介绍的是任意精度算术,它属于第二类:使在ABAP中原本不可能的事情成为可能。过去已经可以在ABAP中使用INT8或DECFLOAT34数据类型进行非常大的数字计算,但还不能进行任意精度的......
  • 使用math库函数计算数值
    #include<stdio.h>#include<math.h> intmain(){ floata=2.78f,d=0.8888; intb=90; intc=5; printf("cos(%f)=%f\n",2.78,cos(2.78)); printf("log10(%d)=%f\n",90,log10(90)); printf("sqrt(%d)=%f\n&......
  • 算数运算符
    num3=num++相当于这两句话:则是先赋值再自加 num3=numnum=num+1 num3=++num相当于两句话:前++比如++a,先自加,再赋值,num=num+1num3=num--分为前--和后--如果是前--比如--a;就是先自减,再赋值,如果是a--,则是先赋值再自减减在JavaScript中,字符串需要被引号包围。如果......
  • 操作符之间的优先级(高到低):算数操作符 → 比较操作符 → 布尔(逻辑)操作符 → “=”赋值
    执行以下程序,输出结果为()vara=4>=6||true&&1||false;console.log(a);AtrueBfalseC1D4>=6正确答案:C赋值语句右侧的表达式含有关系运算符、逻辑运算符,其运算符的优先级是:关系运算符>逻辑运算符(先&&后||)。因此,先执行关系运算:4>=6,返回结果为false,再执行逻辑......
  • Linux依次执行多条命令
    在Linux中,无论是CentOS还是Ubuntu,执行多条命令的方式基本相同,以下是几种常用的方法:方式符号描述分号,分隔符;依次执行,无视前一个命令的执行结果逻辑与&&只有当前一个命令成功执行时,才执行下一个命令逻辑或||当前一个命令失败时,才执行下一个命令管道|将......