Функции ввода- вывода

Функция

printf(строка форматов, список выводимых переменных)

выполняет форматированный вывод переменных, указанных в списке, в соответствии со строкой форматов. Функция

scanf(строка форматов,список адресов вводимых переменных)

выполняет ввод переменных, адреса которых указанны в списке, в соответствии со строкой форматов.

Строка форматов содержит символы, которые будут выводиться на экран или запрашиваться с клавиатуры и так называемые спецификации.

Спецификации это строки, которые начинаются символом % и выполняют управление форматированием:

% флаг ширина.точность модификатор тип

Параметры флаг, ширина, точность и модификатор в спецификациях могут отсутствовать.

Первой строкой программы, в которой будут применяться функции ввода-вывода языка С, должна быть директива

#include <stdio.h>

Заголовочный файл stdio.h содержит описание функций ввода-вывода.

ЗАДАЧА 1. Зная a, b, c – длины сторон треугольника, вычислить площадь S и периметр P этого треугольника.

Входные данные: a, b, c.

Выходные данные: S, P.

Для вычисления площади применим формулу Герона: ,

где r – полупериметр.

//ЗАДАЧА 1. Вариант первый.

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

int main()

{

float a,b,c,S,r; //Описание переменных.

//Вывод на экран символов a=.

printf("a=");

//Запись в переменную а значениия введенного

//с клавиатуры.

scanf("%f",&a);

printf("b="); scanf("%f",&b);

printf("c="); scanf("%f",&c);

r=(a+b+c)/2; //Вычисление полупериметра.

S=sqrt(r*(r-a)*(r-b)*(r-c)); //Вычисление площади.

//Вывод символов S=, значения S и символа табуляции.

//Спецификация %5.2f означает, что будет

//выведено вещественное число, под которое

//отводится 5 знаков, причем 2 из них после точки.

printf("S=%5.2f \t",S);

//Вывод символов p=, значения выражения 2*r

//и символа окончания строки \n.

printf("p=%5.2f \n", 2*r);

return 0;

}

Результат работы программы представлен на рис. 1.

Рис. 1. Результат работы программы к задаче 1.

//ЗАДАЧА 2.1. Вариант второй

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

int main()

{

float a,b,c,S,r;

//Вывод на экран строки символов.

printf("Vvedite a,b,c \n");

//Ввод значений списком.

scanf("%f%f%f", &a,&b,&c);

r=(a+b+c)/2;

S=sqrt(r*(r-a)*(r-b)*(r-c));

//Вывод результатов списком.

printf("S=%5.2f \t p=%5.2f \n", S,2*r);

return 0;

}

Результат работы программы представлен на рис. 2.

Рис. 2. Результат работы программы к задаче 1.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: