DK08 - Máy tính bỏ túi đơn giản

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Mình cần bạn giúp mình thiết kế một chiếc máy tính bỏ túi đơn giản phục vụ cho công việc bán cá hàng ngày của mình. Do mình khá nghèo nên sẽ chỉ nhờ bạn làm 4 chức năng tính cộng, trừ, nhân và chia. Như vậy là đáp ứng đủ nhu cầu sử dụng cho việc bán cá của mình cũng như giúp mình tốn ít chi phí nhất.

Máy tính mình mong muốn cụ thể như sau:

  • Nếu nhập ~ a + b ~, in ra tổng, kết quả ~ a + b ~.
  • Nếu nhập ~ a - b ~, in ra hiệu, kết quả của ~ a - b ~.
  • Nếu nhập ~ a * b ~, in ra tích, kết quả của ~ a * b ~.
  • Nếu nhập ~ a / b ~, in ra thương, kết quả của ~ a / b ~.

Trong đó:

  • ~a, b ~ là các giá trị số thực.
  • ~+, -, *, /~ lần lượt đại diện cho các toán tử tương ứng của phép cộng, trừ, nhân và chia.

Input

  • Lần lượt là số thứ nhất, toán tử, số thứ hai của phép toán

Giới hạn:

  • Phép toán đảm bảo là 1 trong 4 ký tự: ~+, -, *, /~
  • Các toán hạng có trị tuyệt đối không vượt quá ~10000~

Output

  • Kết quả của phép toán yêu cầu làm tròn tới chữ số thập phân thứ 2.
  • Nếu phép chia không thực hiện được, cho mình biết bằng thông báo Math Error.

Sample

Input #1
1 + 1
Output #1
2.00

Comments

Please read the guidelines before commenting.



  • 2
    HHVinh007  commented on Dec. 2, 2024, 4:23 a.m.

    các bạn nhớ lưu ý dùng :.2f để in ra mấy phần thập phân nhé, bởi python round có thể sẽ hụt số


  • 0
    hoanhoan  commented on Oct. 31, 2024, 8:47 a.m.

    có ai code python ko giúp mình với


  • 0
    ndd5101  commented on Oct. 29, 2024, 11:16 a.m.

    // Code java của mình như này mà 10 test case đều bị: Test case #1: IR (java.util.InputMismatchException) [0.091s, 32.50 MB] (0/1) // Mong dc mn giải đáp ạ

    import java.util.Scanner;

    public class Lcode9 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); if((-10000<=a && a<=10000) && (-10000<=b && b<=10000)){ sc.nextLine(); String c = sc.nextLine(); switch (c) { case "+": System.out.printf("%.2f\n", (float) (a + b)); break; case "-": System.out.printf("%.2f\n", (float) (a - b)); break; case "*": System.out.printf("%.2f\n", (float) (a * b)); break; case "/": if (b == 0) { System.out.println("Math Error"); } else { System.out.printf("%.2f\n", (float) a / b); } break; default: System.out.println("Math Error"); } } } }


  • 0
    plsdonate123  commented on Oct. 28, 2024, 2:55 p.m.

    include <bits/stdc++.h>

    using namespace std; double a, b; int main() { char ditmemay; cin >> a >> ditmemay >> b; if(ditmemay=='+') { cout << fixed << setprecision(2) << a + b << endl; } if(ditmemay=='-') { cout << fixed << setprecision(2) << a - b << endl; } if(ditmemay=='*') { cout << fixed << setprecision(2) << a * b << endl; } if(ditmemay=='/') { if(b==0) { cout << "Math Error" << endl; } else { cout << fixed << setprecision(2) << a/b << endl; } } return 0; }


    • -3
      ndd5101  commented on Oct. 29, 2024, 10:50 a.m.

      thg nay bi ngao ah


  • -1
    kietjumper  commented on Oct. 20, 2024, 10:05 a.m.
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    int main()
    {
        float a,b;
        char dau;
        cin >> a >> dau >> b;
    
        if(dau=='+')
        cout << fixed << setprecision(2) << (a+b) << endl;
        else
    
        if(dau=='-')
         cout << fixed << setprecision(2) << (a-b) << endl;
         else
        if(dau=='*')
         cout << fixed << setprecision(2) <<  (a*b) << endl;
         else
         if(dau=='/' and b!=0)
         cout << fixed << setprecision(2) << (a/b) << endl;
         else
         cout << "Math Error";
    }
    

  • -1
    super_god  commented on Oct. 8, 2024, 2:40 a.m.

    hello ae


  • -2
    trinhbaonam  commented on Oct. 3, 2024, 10:50 a.m.

    include<bits/stdc++.h>

    using namespace std; double a,b; char toantu; int main () { cin >> a >> toantu >> b; if (toantu == '+') { cout << setprecision (2) << fixed << a + b; } if (toantu == '-') { cout << setprecision (2) << fixed << a - b; } if (toantu == '*') { cout << setprecision(2) << fixed << a * b; } if (toantu == '/') { if (b != 0) { cout << setprecision(2) << fixed << a / b; } else { cout << "Math Error"; } } return 0; }


  • -4
    blockfrtxx393  commented on Aug. 12, 2024, 3:41 p.m.

    include <bits/stdc++.h>

    define ll long long

    using namespace std; double a,c,s; char b; int32t main() { iosbase::syncwithstdio(0); cin.tie(0); cout.tie(0); cin>>a>>b>>c; if(b=='+'||b=='-'||b=='/'||b=='/') { if(b=='+') { s=a+c; if(s>10000) cout<<"Math Error"; else cout<<setprecision(2)<') cout<<setprecision(2)<c; if(b=='/') { if(c==0) cout<<"Math Error"; else cout<<setprecision(2)<

    CHẠY ĂN FULL TEST


  • -3
    TrucAnh2406  commented on April 12, 2024, 4:25 p.m.

    sao mình chạy trên Dev c bình thường mà sao chạy đây sai tất cả test vậy ad? kiểm tra giúp mình với


  • -1
    TuhocKtmt  commented on Dec. 6, 2023, 6:45 a.m.

    test 5 là chỗ ab phải chèn kdl: (float)ab thì khi đưa ra kết quả mới có 2 số thập phân ở sau được


  • -1
    Konomi  commented on Nov. 11, 2023, 2:45 a.m.

    case 3 là j ae nhỉ


  • -1
    5kym4rk  commented on Nov. 10, 2023, 3:15 p.m.

    Có bác nào code C không ạ ? Cho em tham khảo với. Em làm mãi không full.


    • -1
      namle1902  commented on Aug. 7, 2024, 9:42 a.m.

      include<stdio.h>

      include<math.h>

      int main (){ double a,b; char c; scanf("%lf %c %lf", &a,&c,&b);

      if((-10000<=a && a<=10000) && (-10000<=b && b<=10000)){
      switch (c)
      {
      case '+':
          printf("%.2lf\n", a+b);
          break;
      
      case '-':
          printf("%.2lf\n", a-b);
          break;
      
      case '*':
          printf("%.2lf\n", a*b);
          break;
      
      case '/':
          if(b!=0){
              printf("%.2lf", a/b);
          } else {
              printf("Math Error");
          }
      
      break;
      
      default:
      printf("Math Error");
      break;
      }
      }
      return 0;
      

      }


  • -1
    MANH25  commented on Nov. 5, 2023, 10:14 a.m.

    test 5 là gì vậy


    • -1
      5kym4rk  commented on Nov. 10, 2023, 3:15 p.m.

      Bạn ơi bạn làm được chưa ?


  • -2
    taithikgirl  commented on Oct. 28, 2023, 2:29 a.m.

    hao no


  • -1
    nguien_24  commented on Oct. 21, 2023, 9:09 p.m.

    test 6 la gi v mn


  • -1
    NMPstony  commented on Sept. 15, 2023, 3:37 p.m.

    enter image description here


  • -1
    trung_hieu01  commented on Sept. 12, 2023, 11:34 a.m.

    khó quá admin


  • 0
    nmtSPer  commented on Aug. 20, 2023, 4:35 a.m.

    ủa có ai bị lỗi Unexpected EOF in the participant's output ở test 5 ko vậy


    • -1
      nguien_24  commented on Oct. 21, 2023, 9:09 p.m.

      De cho a,b co tri nho hon 10000 a


  • 0
    tranquanglam  commented on Aug. 7, 2023, 3:24 p.m.

    test 5 là gì á?


  • 0
    nmtrunp  commented on July 20, 2023, 9:47 a.m.

    test Lỗi rồi ad ơi, mình làm trên ide đúng qua đây lại sai? (test cuối)


    • -1
      nhuttruong2k9  commented on Aug. 3, 2023, 11:17 p.m.

      bạn lỗi ở khúc math error á tại vì ko có phép chia cho không bạn sửa lại là Math Error