Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 95-119)

Задача 95.

// Контроль веса finclude
<stdio.?> #include <conio.h> void main() f
float w; // вес
float h; // рост
float opt; // оптимальный вес
float d; // отклонение от оптимального веса
printf("\Введите в одной строке, через пробел,\п");
printf("рост (см) и вес (кг), затем нажмите Enter"
printf(" › ");
scanf("%f%f", &h, &w);
opt = h -100;
if (w = opt)
printf("Ваш вес оптимален!"); else
if (w < opt) {
d = opt -w;
printf("Вам надо поправиться на %2.2f кг.\п", d)
else
d = w -opt;
printf("Вам надо похудеть на %2.2f кг.\п", d);
printf("\п Для завершения нажмите Enter");
getch ();

Задача 96.

// Определение времени года по номеру месяца
#include <stdio.h>
#include <conio.h>
void main()
{
int month; // номер месяца
puts("Хп Введите номер месяца (число от 1 до 12)");
printf(" › ");
scanf("%i", Smonth);
if (month < 1 && month > 12)
printf("Число должно быть от 1 до 12");
else if (month >= 3 && month <= 5)
printf("Весна"); else if (month >= 6 && month <= 8)
printf("Лето"); else if (month >= 9 && month <= 11)
printf ("Осень,"); else printf("Зима");
printf("\п\п Для завершения нажмите Enter");
getch ();

Задача 98.

// Дописывает после числа слово "рубль" в правильной форме
iinclude <stdio.h> ttinclude <conio.h> void main()
int n; // число
int r; // сначала остаток от деления п на 100 (последние
// две цифры), затем – на 10 (последняя цифра)
printf("Хп Введите целое число, не больше 999 › ");
scarif ("%i", Sn);
printf ('"ii ", n);
// правильная форма слова определяется последней
// цифррой, за исключением чисел от 11 до 14 if (n > 100)
r = n % 100; else r = n;
// здесь r – последние две цифры if (r >= 11 &S r <= 14)
printf("рублей Хп"); else {
r = r % 10;
// здесь r – последняя цифра
if (г >= 2 && r <= 4)
printf("рубля Хп"); else if (r = 1)
printf("рубль Хп"); else printf("рублей Хп"); }
printf("Хп Для завершения нажмите Enter");
getch();

Задача 100.

// Вычисление даты следующего дня
#include <stdio.h> #include <conio.h> void main()
int day; int month; int year; int last; int r;
// 1, если текущий день – последний день месяца
// если год високосный, то остаток от
// деления year на 4 равен нулю
printf("Введите в одной строке (цифрами)
printf("сегодняшнюю датуХп");
printf("(число месяц год) › ");
scar.f ("%i%i%i", &day, smonth, Syear);
last = 0;
if (month ==2) {
if ((year % 4)!= 0 && day == 28) last = 1;
if ((year % 4) == 0 && day = 29) last = 1; '}
else if ((month == 4 | | month == 6 I I month = 9 || month == 11)
&& (day == 31)) last = 1;
else if (day = 31) last = 1;
if (last ==1) {
printf("Последний день месяца!\n"); day = 1;
if (month ==12) { month = 1; year++;
printf("С наступающим Новым годом!\п"); }
else month++; }
else day++; printf("Завтра %i %i %i",day,month,year);
printf("\п Для завершения нажмите Enter");
getch();
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.