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

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
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

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    TrucAnh2406  đã bình luận lúc 12, Tháng 4, 2024, 16:25

    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
    hieucode  đã bình luận lúc 24, Tháng 1, 2024, 12:50

    Code C++ cho ai cần ( BÍ LẮM THÌ MỚI THAM KHẢO )

    include<bits/stdc++.h>

    using namespace std;

    int main(){

    double a, b;
    cin >> a;
    char s;
    cin >> s;
    cin >> b;
    switch ( s ){
    case '+' :
        cout << fixed << setprecision(2) << a + b;
        break;
    case '-' :
        cout << fixed << setprecision(2) << a - b;
        break;
    case '*' :
        cout << fixed << setprecision(2) << a * b;
        break;
    case '/' :
        if ( b == 0)
        cout << "Math Error";
        else 
        cout << fixed << setprecision(2) << a / b;
        break;
    

    }

    return 0;
    

    }


  • 1
    hohoanghai5042011  đã bình luận lúc 19, Tháng 1, 2024, 12:26 chỉnh sửa

    include <bits/stdc++.h>

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

    full ac


  • 0
    Kha_ga_k29  đã bình luận lúc 30, Tháng 12, 2023, 8:29

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    namespace DK08MAYTINHBOTUI

    {

    internal class Program
    {
        static void Main(string[] args)
        {
            string[] intString = Console.ReadLine().Split();
            double a, b;
            char sign;
            a = double.Parse(intString[0]);
            sign = char.Parse(intString[1]);
            b = double.Parse(intString[2]);
            switch (sign)
            {
                case '+':
                    Console.Write($"{a + b:0.00}");
                    break;
                case '-':
                    Console.Write($"{a - b:0.00}");
                    break;
                case '*':
                    Console.Write($"{a * b:0.00}");
                    break;
                case '/':
                    {
                        if (b == 0)
                            Console.Write("Math Error");
                        else
                            Console.Write($"{a / b:0.00}");
                        break;
                    }
            }
    
        }
    }
    

    }


  • 2
    kitajima2910  đã bình luận lúc 11, Tháng 12, 2023, 3:34

    Code Java mại zô mại zô, các bạn tham khảo nhé, thấy có ích nhớ vote mình ^^ thanks:

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    /**
     *
     * @author hoai.phamxuan
     */
    public class DK08 {
    
        public static void main(String[] args) throws IOException {
    
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st = new StringTokenizer(br.readLine());
    
            double a = Double.parseDouble(st.nextToken());
            String cal = st.nextToken();
            double b = Double.parseDouble(st.nextToken());
    
            double result = 0;
            if("+".equals(cal)) {
                result = a + b;
            } else if("-".equals(cal)) {
                result = a - b;
            } else if("*".equals(cal)) {
                result = a * b;
            } else {
                if(b == 0) {
                    System.out.println("Math Error");
                    return;
                } else {
                    result = a / b;
                }
            }
    
            System.out.printf("%.2f", result);
        }
    
    }
    

    • 0
      Tuangoc  đã bình luận lúc 6, Tháng 1, 2024, 13:53

      import java.util.Scanner; import java.lang.Math; public class hello { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double a = sc.nextInt(); char o = sc.next().charAt(0); double b = sc.nextInt(); switch (o) { case '+': System.out.printf("%.2f",(double)a+b); break; case '-': System.out.printf("%.2f",(double)a-b); break; case '': System.out.printf("%.2f",(double)ab); break; case '/': if (b==0) { System.out.println("Math Error"); }else { System.out.printf("%.2f",(double)a/b); } } } } mình làm như vầy mà nó có 700 point th bạn giúp mình với


  • 0
    TuhocKtmt  đã bình luận lúc 6, Tháng 12, 2023, 6:45

    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


  • 2
    TQThong2k11  đã bình luận lúc 1, Tháng 12, 2023, 2:28

    include <bits/stdc++.h>

    using namespace std; string s; float a, b; int main(){ cin >> a >> s >> b; if(s == "+"){ cout << fixed << setprecision(2) << a + b; } else if(s == "-"){ cout << fixed << setprecision(2) << a - b; } else if(s == "*"){ cout << fixed << setprecision(2) << a * b; } else if(b == 0) cout << "Math Error"; else cout << fixed << setprecision(2) << a / b; return 0; } theo mình đây là code C++ đơn giản nhất ^-^


  • 0
    Konomi  đã bình luận lúc 11, Tháng 11, 2023, 2:45

    case 3 là j ae nhỉ


  • 0
    5kym4rk  đã bình luận lúc 10, Tháng 11, 2023, 15:15

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


    • 0
      jimtrung  đã bình luận lúc 4, Tháng 2, 2024, 9:08

      include <stdio.h>

      int main(){ float a, b; char c[99] = '+, -, , /'; scanf("%f %c %f", &a, &c, &b); switch(c){ case '+': printf("%.2f", a+b); break; case '-': printf("%.2f", a-b); break; case '': printf("%.2f", a*b); break; case '/': if(b==0) printf("Math Error"); else printf("%.2f", a/b); break; default: printf("Math Error"); break; } return 0; } bi overflow nhung ma CA het


  • 0
    MANH25  đã bình luận lúc 5, Tháng 11, 2023, 10:14

    test 5 là gì vậy


    • 0
      5kym4rk  đã bình luận lúc 10, Tháng 11, 2023, 15:15

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


  • 1
    taithikgirl  đã bình luận lúc 28, Tháng 10, 2023, 2:29

    hao no


  • 0
    nguyenquanghuy1106  đã bình luận lúc 27, Tháng 10, 2023, 7:24

    include<iostream>

    include<iomanip>

    using namespace std ; int main () { int n , m ; char c ; cin >> n >> c >> m ; if(n>10000 || m>10000) { cout << "Vui long nhap lai!"; } else { switch (c) { case '+': cout << fixed << setprecision(2)<< (double)n+m ; break ;

        case '-':
        cout << fixed << setprecision(2)<< (double)n-m ;
        break ;
    
        case '*':
        cout << fixed << setprecision(2)<< (double)n*m ;
        break ;
    
        case '/':
            if(m==0)
            {
                cout << "Math Error";
                break ;
            }
            else
            {                   
              cout << fixed << setprecision(2)<< (double)n/m ;
            }
            break ;
     }
     }
    

    } sửa e với


  • 0
    nguien_24  đã bình luận lúc 21, Tháng 10, 2023, 21:09

    test 6 la gi v mn


  • -1
    minh253  đã bình luận lúc 23, Tháng 9, 2023, 9:50

    java

    import java.util.*;

    public class Calculator {

    public static void main(String[] args){
        Scanner inp = new Scanner(System.in);
        double a = inp.nextDouble();
        char c = inp.next().charAt(0);
        double b = inp.nextDouble();
    
        switch(c){
            case '+':
                System.out.printf("%.2f",a+b);
                break;
            case '-':
                System.out.printf("%.2f",a-b);
                break;
            case '*':
                System.out.printf("%.2f",a*b);
                break;
            case '/':
                if (b!=0){
                    System.out.printf("%.2f",a/b);
                }
                else System.out.print("Math Error");
                break;
            default :
                System.out.print("Math Error");
        }
    }
    

    }


  • -2
    NMPstony  đã bình luận lúc 15, Tháng 9, 2023, 15:33

    Python3 a=input().split() x=float(a[0]) y=float(a[2]) tt=str(a[1]) if -10000<= (x and y) <= 10000: if tt=="+": print("{:.2f}".format(x+y)) elif tt=="-": print("{:.2f}".format(x-y)) elif tt=="": print("{:.2f}".format(xy)) elif tt=="/": if y==0: print("Math Error") else: print("{:.2f}".format(x/y)) else: print("Math Error") else: print("Math Error")


    • 0
      NMPstony  đã bình luận lúc 15, Tháng 9, 2023, 15:37

      enter image description here


  • -2
    tranhuyhsgs  đã bình luận lúc 15, Tháng 9, 2023, 10:34

    include<stdio.h>

    int main(){ float a,b; char c; scanf("%f%c%f", &a, &c, &b); if((-10000<=a && a<=10000) && (-10000<=b && b<=10000)){ switch(c){ case '+': printf("%f",a+b); break; case '-': printf("%f",a-b); break; case '': printf("%f",ab); break; case '/': printf("%f",a/b); break; } } return 0; }


  • 0
    trung_hieu01  đã bình luận lúc 12, Tháng 9, 2023, 11:34

    khó quá admin


  • -1
    hoa111  đã bình luận lúc 25, Tháng 8, 2023, 14:35

    def tong(x, y): return x + y

    def hieu(x, y): return x - y

    def tich(x, y): return x * y

    def thuong(x, y): return x / y

    n = input()
    dv = n.split()

    if len(dv) != 3: print("Math Error") else: vt1 = dv[0] pt = dv[1] vt2 = dv[2] try: vt1 = float(vt1) vt2 = float(vt2)

        if pt not in ('+', '-', '*', '/'):
            print("Math Error")
        else:
            if pt == '+':
                kq = tong(vt1, vt2)
                print(f"{kq:.2f}")
            elif pt == '-':
                kq= hieu(vt1, vt2)
                print(f"{kq:.2f}")
            elif pt == '*':
                kq = tich(vt1, vt2)
                print(f"{kq:.2f}")
            elif pt == '/':   
                if vt2 == 0:
                    print("Math Error") 
                else:
                    kq = thuong(vt1, vt2)
    
                    print(f"{kq:.2f}")
    except ValueError:
        print("Math Error")
    

  • -1
    FuuFanMu  đã bình luận lúc 21, Tháng 8, 2023, 15:43

    include <bits/stdc++.h>

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


  • 1
    nmtSPer  đã bình luận lúc 20, Tháng 8, 2023, 4:35

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


    • 0
      nguien_24  đã bình luận lúc 21, Tháng 10, 2023, 21:09

      De cho a,b co tri nho hon 10000 a


  • 0
    tranquanglam  đã bình luận lúc 7, Tháng 8, 2023, 15:24

    test 5 là gì á?


  • 2
    nmtrunp  đã bình luận lúc 20, Tháng 7, 2023, 9:47

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


    • 0
      nhuttruong2k9  đã bình luận lúc 3, Tháng 8, 2023, 23:17

      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