упр.01 задача 1
- Краен срок:
- 15.10.2025 23:59
- Точки:
- 1
Срокът за предаване на решения е отминал
// Include the solution source in the same file, so we
// don't have to worry about item visibility.
// Please don't use `include!` in real code, this is a hack
// around the checking system.
include!{ "../src/lib.rs" }
#[test]
fn test_basic() {
assert_eq!(calc(11, 23, '+'), 34);
assert_eq!(calc(11, 23, '-'), -12);
assert_eq!(calc(11, 23, '*'), 253);
assert_eq!(calc(253, 11, '/'), 23);
assert_eq!(calc(250, 11, '/'), 22);
assert_eq!(calc(121, 0, '/'), 0);
assert_eq!(calc(11, 23, '^'), 42);
assert_eq!(calc(11, 23, 'y'), 42);
}
Напиши функция
fn calc(a: i32, b: i32, op: char) -> i32 {
// твой код
}
Условия:
- ако
opе'+'→ върниa + b - ако е
'-'→ върниa - b - ако е
'*'→ върниa * b - ако е
'/'и b не е 0 → върниa / b - ако е
'/'и b е 0 → върни0 - иначе → върни
42
П.С. игнорирайте линка с указания за домашни - добавя се автоматично и не е актуален в случая.
Задължително прочетете (или си припомнете): Указания за предаване на домашни
Погрижете се решението ви да се компилира с базовия тест:
// Include the solution source in the same file, so we
// don't have to worry about item visibility.
// Please don't use `include!` in real code, this is a hack
// around the checking system.
include!{ "../src/lib.rs" }
#[test]
fn test_basic() {
assert_eq!(calc(11, 23, '+'), 34);
assert_eq!(calc(11, 23, '-'), -12);
assert_eq!(calc(11, 23, '*'), 253);
assert_eq!(calc(253, 11, '/'), 23);
assert_eq!(calc(250, 11, '/'), 22);
assert_eq!(calc(121, 0, '/'), 0);
assert_eq!(calc(11, 23, '^'), 42);
assert_eq!(calc(11, 23, 'y'), 42);
}
