Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Си.doc
Скачиваний:
3
Добавлен:
15.11.2019
Размер:
2.72 Mб
Скачать

Int main()

{

int i=1, s=0;

while (i<=100)

{

s+=i;

i++;

}

printf(“/ns=%d i=%d”,s, i);

return 0;

}

Результат решения задачи:

s=5050 i=101

Таким образом, выходим из этого цикла со значением i не 100, а 101.

Вместо цепочки:

s+=i;

i++;

можно использовать один оператор:

s+=i++;

Этот цикл можно превратить в бесконечный, если после условия поставить точку с запятой: int i=1, s = 0;

while (i<=100);

{

s += i;

i++;

}

printf(“/ns=%d i=%d”,s, i);

Значение переменной i в этом случае меняться не будет – она останется равной единице.

  1. вычислить сумму s всех цифр заданного натурального числа n

Пусть s – искомая сумма,

i – очередная цифра числа.

Тогда алгоритм решения задачи можно описать следующим образом:

  1. обнуляем сумму s=0,

  2. берем последнюю цифру числа, для чего определяем остаток от деления исходного числа на 10: i = n % 10,

  3. добавляем в сумму найденную цифру: s = s + i,

  4. уменьшаем число в 10 раз: n = n / 10,

  5. повторяем цикл до тех пор, пока n > 0 – это и будет условием продолжения цикла.

Программа

#include <stdio.h>

#include <conio.h>

#include <math.h>

Int main()

{

int i, n, s = 0;

printf(“\nВведите целое положительное число:”);

scanf(“%d”, &n);

while (n>0)

{

i = n % 10;

s+=i;

n /= 10;

}

printf(“/ns=%d”,s);

return 0;

}

Схема алгоритма:

  1. ввести с клавиатуры по одному последовательность целых чисел (конец последовательности – число 0). Определить их сумму, максимальное и минимальное число, количество введенных чисел и их среднее арифметическое.

Пусть s – искомая сумма,

min, max – минимальное и максимальное из введенных чисел,

count – количество введенных чисел,

sred – среднее арифметическое,

n – очередное число.

Тогда алгоритм решения задачи можно описать следующим образом:

  1. обнуляем сумму s = 0,

  2. вводим первое число n,

  3. если оно не равно нулю, то

  4. принимаем его значение за min и max

  5. количество введенных чисел count = 1

  6. увеличиваем сумму на введенное число s = s + n

  7. входим в цикл ввода:

  8. вводим очередное число n,

  9. если оно не равно нулю, то

  10. количество введенных чисел увеличиваем на 1: count = count+1

  11. увеличиваем сумму на введенное число s = s + n

  12. если оно меньше min, то min = n,

  13. если оно больше max, то max = n,

  14. повторяем цикл до тех пор, пока n # 0 – это и будет условием продолжения цикла.

Создадим интерфейс этой задачи – взаимодействие программы с пользователем, то есть что должно выводиться на экран:

Первое число: 3

Очередное число: 8

Очередное число: 1

Очередное число: -2

Очередное число: 0

Сумма = 10

К оличество чисел = 4

min = -2

max = 8

Среднее арифметическое = 2.50

Схема алгоритма:

Программа

#include <stdio.h>

#include <conio.h>

#include <math.h>