Пример 2. Проверка возраста человека
В этом разделе демонстрируется простое использование оператора И (&&). Программа определяет, находится ли число в определенном диапазоне - в данном случае диапазон включает в себя числа лет подросткового возраста от 13 до 19.
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Enter an age and press ENTER: ";
cin >> n;
if (n > 12 && n < 20)
cout << "Subject is a teenager.";
else
cout << "Subject is not a teenager.";
return 0;
}
Упражение 3: добавить проверку на пожилой возраст (от 60 и старше).
Введение в математическую библиотеку
Вплоть до текущего момента мы использовали стандартную библиотеку языка C++ для поддержки потоков ввода-вывода. Это позволяло использовать в коде объекты cout и cin, и поэтому в программы нужно было включать следующую строку:
#include <iostream>
Можно использовать любые операторы языка C++ (например +, *, - и %) без поддержки библиотеки, поскольку операторы встроены в язык. Однако, чтобы использовать любую из специальных математических функций, необходимо включить следующую строку:
#include <math.h>
Математические функции включают тригонометрические функции (sin, cos, tan, asin, acos, atan и т.д.), логарифмические функции (log, Iog10), экспоненциальные функции (pow, exp) и другие хорошие вещи. В этой главе используется только одна математическая функция: sqrt, возвращающая квадратный корень.
#include <math.h>
double х;
х = sqrt(2.0); // Присвоить квадратный корень из числа 2 переменной х
Пример 3. Проверка на простое число
Теперь в нашем распоряжении имеется достаточно инструментов языка C++, чтобы сделать что-то интересное и полезное: определить, является ли введенное число простым. Простое число – это число, которое делится без остатка только на само себя и 1.
Очевидно, что число 12000 не является простым (поскольку оно кратно 10), но совсем не понятно, является ли простым числом 12001.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n; // Число для проверки
int i; // Счетчик для цикла
int is_prime; // Флаг
// Предположим, что изначально число простое
is_prime = true;
// Введем число с клавиатуры
cout << "Enter a number and press ENTER: ";
cin >> n;
// Проверим в цикле все числа до .
i = 2;
while (i <= sqrt(static_cast<double>(n))) // Пока i <= sqrt(n),
{
if (n % i == 0) // Если делится нацело
is_prime = false; // n не простое
i++; // добавим 1 к i
}
// Печатаем результат
if (is_prime)
cout << "Number is prime.";
else
cout << "Number is not prime.";
return 0;
}
Важно!!!
Конструкция static_cast<double>(n) приводит целое число к вещественному типу. Появилась эта конструкция в С++. В языке С аналог: (double)n. Рекомендуется использовать именно стиль С++.
Упражнение 4: посчитайте n!
Упражнение 5:посчитайте sin(1)+sin(2) + … + sin(n)
Упражнение 6: Для всех чисел от 1 до n выведите все, которые делятся на 3.