Viết chương trình tính phép tính cộng trong xâu nhập vào bằng ngôn ngữ c++ (ví dụ:”1+2+345″ thì xuất ra kết quả là 348) Đầu vào, đầu ra: – [Thời gian

Viết chương trình tính phép tính cộng trong xâu nhập vào bằng ngôn ngữ c++ (ví dụ:”1+2+345″ thì xuất ra kết quả là 348)
Đầu vào, đầu ra:
– [Thời gian chạy] 0.5s với c++, 4s với python, 3s với java
– [Đầu vào] String cal
– [Đầu ra] int

0 bình luận về “Viết chương trình tính phép tính cộng trong xâu nhập vào bằng ngôn ngữ c++ (ví dụ:”1+2+345″ thì xuất ra kết quả là 348) Đầu vào, đầu ra: – [Thời gian”

  1. #include<bits/stdc++.h>
    using namespace std;

    int num(char x){ return x – ‘0’;}
    int intValue(string  s){
        int res = 0;
        for(int i=0;i<s.size();i++) res = res*10 + num(s[i]);
        return res;
    }
    int strtto(string s)
    {
        string t;
        int i,n,a,e,tong;
        n=s.size()-1;
        for (int i=0;i<=n+1;i++)
        {
           if(s[i]!=’+’&&i!=n+1)
            {
                   t=t+s[i];
            }
           else
            {
                   a=intValue(t);
                   tong+=a;
                   t=””;
            }
        }
        return tong;
    }

    int main()
    {
        string cal=”1+2+345″;
        cout<<strtto(cal);
    }

    // tham khảo

    Bình luận
  2. uses crt;
    var s,t:string; i,n,a,e,tong:longint;
    begin
    clrscr;
       write(‘S=’);readln(s);
       n:=length(s);
       for i:=1 to n+1 do
          if (s[i]<>’+’)and(i<>n+1) then t:=t+s[i] else
          begin
             val(t,a,e);
             inc(tong,a);
             t:=”;
          end;
       writeln(tong);
    readln
    end.

    ////////////////

    Giải thích:

    Chạy từ 1 tới n+1(độ dài của s+1):

    Nếu mà s[i] là số và nó ko phải là dấu + và i ko là n+1 (trường hợp đặc biệt)thì thêm vào xâu t

    Không thì đổi t thành số  rồi thêm vào tổng

    viet-chuong-trinh-tinh-phep-tinh-cong-trong-au-nhap-vao-bang-ngon-ngu-c-vi-du-1-2-345-thi-uat-ra

    Bình luận

Viết một bình luận