Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โค้ด C++ ตรวจสอบสถานะโหวตรีวิวและความไม่แน่นอน

สมมติว่าเรามีตัวเลขสามจำนวน x, y และ z บนเว็บรีวิว มี x คนโหวตเพิ่ม y คนโหวตลด และอีก z คนจะโหวตแต่ไม่รู้จะโหวตเพิ่มหรือลด แต่ละคนโหวตได้สูงสุด 1 ครั้ง ถ้าโหวตเพิ่มมากกว่าลด ผลลัพธ์ "+" ถ้าลดมากกว่า "-" มิฉะนั้น "0" เนื่องจาก z คนที่ไม่แน่ชัด ผลอาจไม่แน่นอน (มีผลลัพธ์มากกว่า 1 แบบ) ผลไม่แน่นอน ('?') ก็ต่อเมื่อมีสถานการณ์โหวตของ z คนที่ต่างกัน 2 แบบ ต้องหาผลลัพธ์หรือรายงานความไม่แน่นอน

เช่น ถ้าอินพุตคือ x = 2; y = 0; z = 2 เอาต์พุตจะเป็น '?' เพราะมี 2 โหวตเพิ่ม ถ้าอีก 2 โหวตลดจะเป็น 0 ถ้าโหวตเพิ่มจะเป็น '+' ดังนั้นไม่แน่นอน

ขั้นตอนการแก้ปัญหา

if x > y + z: return "+"
else if x + z < y: return "-"
else if not z non-zero: return "0"
otherwise: return "?"

ตัวอย่างโค้ด

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

string solve(int x, int y, int z) {
    if (x > y + z) return "+";
    else if (x + z < y) return "-";
    else if (!z) return "0";
    else return "?";
}

int main() {
    int x = 2;
    int y = 0;
    int z = 2;
    cout << solve(x, y, z) << endl;
}

อินพุต

2, 0, 2

เอาต์พุต

?