- Составить программу, печатающую значение true, если указанное высказывание является истинным, и false в противном случае: число N является четным двузначным числом
1. Логические операции
#include <iostream> #include <iomanip> using namespace std; int main() { int N; bool b; cout << "N = "; cin >> N; b = N / 100 == 0 && N / 10 != 0 && N % 2 == 0; // b = !(N / 100) && N / 10 && !(N % 2); cout << boolalpha << b << endl; return 0; }
В комментарии – компактная запись, с опущенными операторами сравнения, но с применением инверсии. Манипулятор boolalpha
– вывод логических величин в текстовом виде (например, false
вместо 0
).
2. Неполное ветвление
#include <iostream> using namespace std; int main() { int n; cout << "n = "; cin >> n; if (n < 0) n = n * (-1); cout << "|n| = " << n << endl; return 0; }
3. Полное ветвление
#include <iostream> #include <cmath> using namespace std; int main() { float a, b; cout << "a = "; cin >> a; cout << "b = "; cin >> b; if (a > b) { a = (a + b) / 2; b = sqrtf(a * b); } else { a = sqrtf(a * b); b = (a + b) / 2; } cout << "a = " << a << endl << "b = " << b << endl; return 0; }
4. Каскадные ветвления (ветвления, следующие друг за другом, обычно – неполные)
#include <iostream> using namespace std; int main() { int a, b, c, i = 0; cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; if (a > 0) ++i; if (b > 0) ++i; if (c > 0) ++i; cout << "Количество положительных чисел равно " << i << endl; return 0; }
5. Вложенные ветвления
#include <iostream> using namespace std; int main() { int a, b, c; cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; if (a > b) if (b > c) cout << a + b << endl; else cout << a + c << endl; else if (a > c) cout << a + b << endl; else cout << b + c << endl; return 0; }
6. Тернарная операция
#include <iostream> using namespace std; int main() { int a; cout << "a = "; cin >> a; cout << "a = " << (a > 0 ? ++a : a - 2) << endl; return 0; }