8. Напишите программу, которая запрашивает два числа с плавающей запятой и выводит значение их разности, деленной на их произведение. Программа должна обрабатывать пары вводимых чисел до тех пор, пока пользователь не введет нечисловое значение.
9. Модифицируйте упражнение 8 так, чтобы программа использовала функцию для возврата результатов вычислений.
10. Напишите программу, которая запрашивает ввод нижнего и верхнего пределов последовательности целых чисел, вычисляет сумму всех квадратов целых чисел, начиная с квадрата нижнего целочисленного предела и заканчивая квадратом верхнего целочисленного предела, после чего отображает результат на экране. Затем программа должна запрашивать ввод следующих предельных значений и отображать ответ, пока пользователь не введет значение верхнего предела, который меньше или равен нижнему пределу. Результаты выполнения программы должны выглядеть следующим образом:
Введите нижний и верхний целочисленные пределы: 5 9
Сумма квадратов целых чисел от 25 до 81 равна 255 Введите следующую комбинацию пределов: 3 25
Сумма квадратов целых чисел от 9 до 625 равна 95 Введите следующую комбинацию пределов: 5 5
Работа завершена
11. Напишите программу, которая читает восемь целых чисел в массив, после чего выводит их в обратном порядке.
12. Взгляните на следующие две бесконечных последовательности:
1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 +...
1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 +...
Напишите программу, которая подсчитывает промежуточные суммы этих двух последовательностей до тех пор, пока не будет обработано заданное количество элементов. Подсказка: произведение нечетного количества значений -1 равно -1, а произведение четного количества значений -1 равно 1. Предоставьте пользователю возможность вводить предел интерактивно; нулевое или отрицательное значение должно завершать ввод. Просмотрите промежуточные суммы для 100, 1000 и 10,000 элементов. Сходятся ли эти последовательности к какому-то значению?
13. Напишите программу, которая создает восьмиэлементный массив типа int и помещает в него элементы начальных восьми степеней 2, а затем выводит полученные значения. Применяйте цикл for для вычисления элементов массива, и ради разнообразия для отображения значений воспользуйтесь циклом do while.
14. Напишите программу, которая создает два восьмиэлементных массива типа double и использует цикл для ввода значений восьми элементов первого массива. Программа должна накапливать в элементах второго массива суммы первого
246 Глава 6
массива с нарастающим итогом. Например, четвертый элемент второго массива должен быть равен сумме первых четырех элементов первого массива, а пятый элемент второго массива — сумме пяти первых элементов первого массива. (Это можно сделать с помощью вложенных циклов, однако если учесть тот факт, что пятый элемент второго массива равен четвертому элементу второго массива плюс пятый элемент первого массива, можно избежать вложенных циклов и применить для решения задачи единственный цикл.) В завершение воспользуйтесь циклом для вывода содержимого обоих массивов, при этом первый массив должен отображаться в первой строке, а каждый элемент второго массива должен помещаться непосредственно под соответствующим элементом первого массива.
15. Напишите программу, которая читает строку ввода, а затем выводит ее в обрат ном порядке. Ввод можно сохранять в массиве значений типа char; предполагается, что строка состоит не более чем из 255 символов. Вспомните, что для чтения символа за раз можно применять функцию scanf() со спецификатором %с, а при нажатии клавиши генерируется символ новой строки (\n).
16. Дафна делает вклад в сумме $100 под простые 10%. (То есть ежегодный прирост вклада составляет 10% от первоначальной суммы.) Дейдра вкладывает $100 под сложные 5%. (Это значит, что ежегодное увеличение вклада составляет 5% от текущего баланса, включающего предыдущий прирост вклада.) Напишите программу, которая вычисляет, сколько нужно лет, чтобы сумма на счету Дейдры превзошла сумму на счету Дафны. Выведите также размеры обоих вкладов на тот момент.
17. Чаки Лаки выиграл миллион долларов (после уплаты всех налогов), который он поместил на счет со ставкой 8% годовых. В последний день каждого года Чаки снимает со счета но $100 000. Напишите программу, которая вычисляет, сколько лет пройдет до того, как на счету Чаки не останется денег
18. Профессор Робинс присоединился к группе в социальной сети. Вначале у него было пять друзей. Он заметил, что количество его друзей увеличивалось следующим образом. По истечении первой недели один человек вышел из числа друзей, а количество друзей удвоилось. По истечении второй недели двое вышли из числа друзей, а количество друзей удвоилось. Выражаясь в общем, по истечении /V-Й недели /Улюдей выходили из числа друзей, а количество друзей удваивалось. Напишите программу, которая вычисляет количество друзей в конце каждой недели. Программа должна продолжать подсчет до тех пор, пока количество друзей не превысит число Данбара. Число Данбара — это приблизительная оценка максимального размера сплоченной социальной группы, в которой каждый член знает всех остальных членов и осведомлен об их взаимоотношениях друг с другом. Его приближенное значение равно 150.
Читать дальше