Задачник и решебник (1087980), страница 12
Текст из файла (страница 12)
Решения93p r i n t f ( " \ п Д л я завершения нажмите < E n t e r > " ) ;getch();}Задача 95// Контроль веса#include <stdio.h>#include <conio.h>void main(){float w;//float h;//float opt; //float d;//весростоптимальный весотклонение от оптимального весаprintf("ХВведите в одной строке, через пробел,\п");printf("рост (см) и вес (кг), затем нажмите <Enter>");printf("->");scanf("%f%f", &h, &w);opt = h - 100;if (w == opt)printf("Ваш вес оптимален!");elseif (w < opt){d = opt - w;printf("Вам надо поправиться на %2.2f кг.Хп", d ) ;}else{d = w - opt;printf("Вам надо похудеть на %2.2f кг.Хп", d ) ;}printf("ХпДля завершения нажмите <Enter>");getch();94C/C-f-+ в задачах и приклерахЗадача 96// Определение времени года по номеру месяца#include <stdio.h>#include <conio.h>void mainO{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// Дописывает после числа слово "рубль" в правильной форме#include <stdio.h>#include <conio.h>void mainO{int n; // числоint r; // сначала остаток от деления n на 100 (последние// две цифры), затем - на 10 (последняя цифра)printf("ХпВведите целое число, не больше 999 -> " ) ;scanf("%i", &n);printf("%i ", n ) ;// правильная форма слова определяется последнейЧасть II.
РешенияI/ цифррой, за исключением чисел от 11 до 14if (п > 100)г = п % 100;else г = п;// здесь г - последние две цифрыif ( г >= 11 && г <= 14 )printf("рублей\п");else{г = г % 10;// здесь г - последняя цифраif ( г >= 2 && г <= 4 )printf("рубляХп");else if (г == 1)printf("рубль\п");else printf("рублей\п");}printf("\пДля завершения нажмите <Enter>");getch();Задача 100// Вычисление даты следующего дня#include <stdio.h>#include <conio.h>void mainO{int day;int month;int year;int last; // 1, если текущий день — последний день месяцаint г;// если год високосный, то остаток от// деления year на 4 равен нулюprintf("Введите в одной строке (цифрами) " ) ;printf("сегодняшнюю датуХп");printf("(число месяц год) -> " ) ;scanf("%i%i%i", &day, &month, &year);9596C/C++ в задачах и примерахl a s t = 0;i f (month ==2) {if ((year % 4) !== 0 && day == 28) last = 1;if ((year % 4) == 0 && day == 29) last ^ 1;}else if ((month == 4 || month == 6 ||month = = 9 1 1 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("C наступающим Новым годом!\n");}else month++;}else day+-i-;printf("Завтра %i %i %i",day,month,year);printf("\пДля завершения нажмите <Enter>");getch();}Задача 101// Вьюодит название дня недели#include <stdio.h>#include <conio.h>void main(){int nd; // номер дня неделиputs("ХпВведите номер дня недели (1..7");printf("->");97Часть 11.
Решенияscanf("%i", &nd);switch (nd){puts("Понедельник");caseput s("Вторник");caseputs("Среда");caseputs("Четверг");puts("Пятница");caseputs("Суббота");caseputs ("Воскресеньe");casebreak;break;break;break;break;break;breaJc;default: puts("Число должно быть в диапазоне 1..7");}getch();Задача 102// Определение стоимости междугородного// телефонного разговораtinclude <stdio.h>#include <conio.h>void mainO{int kod;// код городаfloat cena; // цена минутыint dlit;// длительность разговораfloat suram; // стоимость разговораprintf("ХпВычисление стоимости разговора по");printf("телефону Л п " ) ;printf("Введите исходные данные:\п");printf("Длительность разговора (целое кол-во минут) - > " ) ;scanf("%i", &dlit);puts("Код города");puts("Bлaдивocтoк\t432") ;puts("MocKBa\t\t095");puts("MypMaHCK\t815");puts("CaMapa\t\t846");printf("->");scanf("%i", &kod);98С/С-*"*- в задачах и примерахprintf("Город: " ) ;switch (kod){case 432: puts("Владивосток");cena = 2.2;break;case 95: puts("Москва");cena = 1;brecJc;case 815: puts("Мурманск");cena = 1.2;break;case 846: puts("Самара");cena = 1.4;break;default: printf("неверно введен код.");cena = 0;}if (cena != 0) {suiran = cena * dlit;printf("Цена минуты: %i руб.\п", cena);printf("Стоимость разговора: %3.2f руб.\п", suram);}printf("\пДля завершения нажмите <Enter>");getch();}Задача 103//По дате определяет день недели#include <stdio.h>#include <conio.h>void main(){int day,month,year; // день, месяц, годint с,у;int m;int d;// столетие и год в столетии// месяц по древнеримскому календарю// день неделиЧасть II.
Решенияputs("\nOnpeделение дня недели по дате");puts("Введите дату: день месяц год.");puts("Например, 5 12 2001");printf("->");scanf("%i %i %i", &day, Smonth, &year);if (month == 1 I I month == 2)year—;// январь и февраль относятся/ / к предыдущему годуm = month - 2;// год начинается с мартаif (m <= 0) m += 12; // для января и февраля// здесь m - номер месяца по римскому календарюс = year / 100;у = year - с*100;d = (day+(13*m-l)/5-by+y/4+c/4-2*c+777)%7;switch (d){case 1: puts ("Понедельник") ; breaJc;case 2: puts("Вторник");break;3:caseput s (" Среда ") ;Ьгвгйс;case 4: puts("Четверг")<breaJc;case 5: puts("Пятница")break;case 6: puts("Суббота")<break;case 0: puts("Воскресенье");}printf("\пДля завершения нажмите <Enter>\n");getch();Задача IPS// Выводит таблицу квадратов нечетных чисел#include <stdio.h>#include <conio.h>void main(){99100C/C'i'-^' в задачах и примерахi n t X = 1;int у;int i;/ / число// квадрат числа// счетчик цикловprintf("Таблица квадратов\п");printf ("\п");printf("Число\tKвaдpaт\n");printf ("\п") ;for (i = 1; i <= 10; i++){у = x*x;printf("%3i\t%4i\n", X, y ) ;X += 2;}printf ("\n") ;printf("\пДля завершения нажмите <Enter>");getch();Задача 107'// Вычисляет сумму первых п целых положительных чисел#include <stdio.h>#include <conio.h>void mainO{int n;// кол-во суммируемых чиселint summ; // суммаint i;// счетчик цикловprintf("Вычисление суммы положительных чисел\п");printf("Введите количество суммируемых чисел -> " ) ;scanf("%i", &n);sujxm = 0;for (i = 1; i <= n; i++)summ = summ+i;printf("Сумма первых %i целых положительных чисел ",n);printf("равна %i", summ);Часть //.
Решенияp r i n t f ( " \ п \ п Д л я завершения нажмите < E n t e r > " ) ;getch();}Задача 109// Вычисляет частичную сумму ряда: 1,3,6,9 ...#include <stdio.h>#include <conio.h>void mainO{int e;// член рядаint n;// кол-во суммируемых членовint suitim = 0 ; // частичная сумма рядаint i;// счетчик цикловprintf("Вычисление частичной суммы ряда: " ) ;printf("1,3,6,9, ...\п");printf("Введите количество суммируемых членов -> " ) ;scanf("%i", &п);е = 1;for (i = 1; i <= n; i++){suinm += e;e += 2;}printf("Сумма первых %i членов ряда равна %i", n, suram);printf("\пДля завершения нажмите <Enter>");getch();}Задача 110// Вычисление суммы ряда 1+1/2+1/3+ ...#include <stdio.h>#include <conio.h>void mainO{int n;// кол-во суммируемых членов ряда101102C/C'^^^^• в задачах и примерахfloat i;// номер элемента ряда.
Если объявить как// int, то при вычислении 1/i будет выполнено// усечение дробной частиfloat elem;// значение элемента рядаfloat suram = 0 ; // сумма элементов рядаprintf("Вычисление частичной суммы ряда");printf("1+1/2+1/3+..Лп");printf("Введите кол-во суммируемых членов рядаХп");printf("-> " ) ;scanf("%i",&n);suram = 0;for (i = 1; i <= n; i++) {elem = 1 / i;summ += elem;}printf("Сумма первых %i", n ) ;printf(" членов ряда равна %6.3f",summ);printf("\пДля завершения нажмите <Enter>");getchO ;}Задача 111// Таблица степеней двойки#include <stdio.h>#include <conio.h>void mainO{int n; // показатель" степениint x; // значение 2 в степени nprintf("ХпТаблица степеней двойкиХп");X - 1;for (n == 0; n <== 10; n++){printf("%3i%5i\n", n, x ) ;X *= 2;}Часть II.
Решения103printf("\пДля завершения нажмите <Enter>");getch();}Задача 113// Таблица функции#inclucle <stdio.h>#include <conio.h>tdefineLB -2.0#defineНВ2.0tdefineDX0.5void main О{float х,у;int п;int i;//////////нижняя граница диапазона измененияаргументаверхняя граница диапазона измененияаргументаприращение аргумента// аргумент и значение функции// кол-во точек// счетчик цикловп = (НВ - LB)/DX +1;X = LB;printf ("\n");printf("XIy\n");printf ("\n") ;for (i = 1; i<=n; i++){у = -2.4*x*x+5*x-3;printf("%6.2f j %6.2f\n" ,K ,y);X += DX;}printf ("\n") ;printf("\пДля завершения нажмите <Enter>");getch();}104C/C-f-f- в задачах и примерахЗадача 116// Среднее арифметическое дробных чисел,/ / с клавиатуры#include <stdio.h>#include <conio.h>вводимых#define L 5 // количество чисел последовательностиvoid main (){float a;int n;float sum;float sred;////////числокол-во введенных чиселсумма введенных чиселсреднее арифметическое введенных чиселprintf("ХпОбработка последовательности дробных чисел\п");printf("После ввода каждого числа нажимайте <Enter>");sum = 0;for (n = 1; n <= L; n++){printf("-> " ) ;scanf("%f", &a);sum += a;printf("Введено чисел: %i ", n ) ;printf("Сумма: %6.2f\n", sum);sred = sum / L;printf("Сред, арифметическое: %6.2f\n", sred);printf("\пДля завершения нажмите <Enter>");getch();}Задача 117// Вычисляет среднее арифметическое и определяет// минимальное и максимальное число последовательности// дробных чисел, вводимых с клавиатуры#include <stdio.h>#include <conio.h>Часть II, Решения105v o i d main О{float а;int п;float sum;float sred;float min;float max;int 1;//////////////очередное числоколичество чиселсумма введенных чиселсреднее арифметическоеминимальное число последовательностимаксимальное число последовательностисчетчик цикловprintf("Обработка последовательности дробных чисел.\п");printf("Введите количество чисел последовательности ->");scanf("%i", &n);printf("Введите последовательность.\n");printf("После ввода каждого числа нажимайте <Enter>");printf("->");scanf("%f",&а); // вводим первое число// последовательности// предположим, что:min = а; // пусть первое число является минимальнымmax = а; // пусть первое число является максимальнымsum = а;// введем остальные числаfor (i = 1; i < n; i++){printf("->");scanf("%f", &a);sum += a;if (a < min) min = a;if (a > max) max = a;}sred = sum / n;printf("Количество чисел: %i\n", n ) ;printf("Среднее арифметическое: %6.2f\n", sred);printf("Минимальное число: %6.2f\n", min);printf("Максимальное число: %6.2f\n", max);printf("\пДля завершения нажмите <Enter>");getch();106C/C-'-f- в задачах и примерахЗадача 119// вычисление среднего арифметического случайных// последовательностей#include <stdio.h>#include <conio.h>#include <stdlib.h> // для доступа к srand и rand#include <time.h>#define L 10#define N 3// длина последовательности// количество последовательностейvoid main О{int r;int sum;float sred;int i,j;time_t t;////////////случайное числосумма чисел последовательностисреднее арифметическоесчетчики цикловтекущее время - для инициализациигенератора случайных чиселsrand((unsigned) time(&t));; // инициализация генератора// случайных чиселfor (i = 1; i <= N; i++){// генерируем последовательностьprintf("ХпСлучайные числа: " ) ;sum = 0 ; //не забыть обнулить !for (j = 1; j <= L; j++){r = randO % 10 +1 ;printf("%i ", r);sum += r;}sred = (float)sum / L; // чтобы не было усеченияprintf("\nCpeд.арифм.: %3.2f\n", sred);• }printf("\пДля завершения нажмите <Enter>");getch();Часть II.