Язык Си в примерах/Максимум: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
мНет описания правки
Строка 1:
{{Содержание «Язык Си в примерах»}}
 
Задача: Напишите программу, которая находит максимум введенных целых чисел. На вход поступает количество чисел, а затем сами числа.
 
Напишите программу, которая находит максимум введенных целых чисел.
На вход поступает количество чисел, а затем сами числа.
 
 
Вот решение этой задачи:
 
 
/* Программа max.c "Максимум чисел" */
#include <stdio.h>
int main () {
{
int i, n, a, max;
printf ("Введите количество чисел: ");
Строка 18 ⟶ 13 :
printf ("Введите %d чисел: ", n);
scanf ("%d", &max);
for(i = 1; i < n ; i++) {
{
scanf ("%d", &a);
if(a > max) max = a;
max = a;
}
printf ("%d", max);
Строка 28 ⟶ 23 :
 
 
Числа вы можете вводить, разделяя их пробелом SPACE, символом табуляции TAB, или нажимая после каждого введенного числа ENTER.
или нажимая после каждого введенного числа ENTER. Символы SPACE, TAB, ENTER называются пробельными символами (white space). Функция <tt>scanf</tt> считывает
объекты, разделенные любым числом пробельных символов.
 
 
Обратите внимание на второй <tt>printf</tt> &mdash; он имеет два аргумента:
Строка 37 ⟶ 31 :
printf ("Введите %d чисел: ", n);
 
Первый аргумент &mdash; это строчка <tt>"Введите %d чисел: "</tt> , которая задает формат того, что будет печататься.
 
Первый аргумент &mdash; это строчка (текст в двойных кавычках), которая задает формат того, что будет печататься. В этой строчке встречается выражение <tt>%d</tt>, которое соответствует формату "десятичная запись целого числа".
На месте этого выражения будет напечатано на экране компьютера значение второго аргумента, то есть значение переменной <tt>n</tt>.
 
В программе <tt>max.c</tt> мы впервые встречаемся с ''условным оператором'' <tt>if</tt> и ''оператором цикла''
Строка 47 ⟶ 42 :
if(A) B;
 
Он соответствует предложению

«Если выполнено условие <tt>A</tt>, то сделать <tt>B</tt>».
 
Оператор <tt>for</tt> устроен следующим образом:
 
 
for(A; B; C ) D;
 
 
Элемент <tt>D</tt> может быть как одной командой, так и произвольным набором команд,
Строка 60 ⟶ 55 :
Команды объединяются в блок с помощью заключения их в фигурные скобок.
В нашем случае <tt>D</tt> это
 
 
scanf ("%d", &a);
if(a > max)
max = a;
 
 
Элемент <tt>D</tt> называется телом цикла &mdash; это то, что будет выполнятся несколько раз.
Строка 75 ⟶ 69 :
«означает 10 раз напечатать слово <tt>Hi!</tt> ». Более подробно:
 
#положим <tt>i = 0</tt>;
#проверим, что <tt>i < 10</tt>; если условие не выполнено, то перейдем к пункту 5;
#выполним <tt>printf ( "Hi!" )</tt>;
Строка 109 ⟶ 103 :
Функции <tt>printf</tt> нужно знать значения переменных, чтобы их печатать.
 
Функции <tt>scanf</tt> нужно передавать адреса переменных, куда помещать считываемые данные.
 
Функции <tt>scanf</tt> нужно передавать адреса переменных, куда помещать считываемые данные.