Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
28.03.2015
Размер:
252.93 Кб
Скачать

Анализ чисел

С клавиатуры вводится четырехзначное число. Необходимо программно с использованием оператора цикла определить, имеются ли в нем четные цифры. Разработка представлена в листинге 2.26, а блок-схема алгоритма приведена на рис. 2.19.

Листинг 2.26. Поиск чисел по условию

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

int A,B,Flag,I;

cout <<"Введите четырехзначное число:";

cin>>A;

Flag=0;

for (I=1; I<=4;I++)

{

B= A % 10;

if ((B % 2) == 0)

{

Flag=1;

break;

}

A=A / 10;

}

if (Flag == 1)

cout <<"В числе есть четные цифры";

else

cout <<"В числе нет четных цифр";

_getch();

}

Рис. 2.19. Блок-схема к программе листинга 2.26

Рассмотрим еще один пример на тему анализа чисел. Как и в предыдущей разработке, с клавиатуры вводится четырехзначное число. Необходимо программно с использованием оператора цикла определить, имеются ли в нем соседние одинаковые цифры (одинаковые цифры в соседних разрядах). Разработка представлена в листинге 2.27, а блок-схема алгоритма на рис. 2.20.

Рис. 2.20. Блок-схема к программе листинга 2.27

Листинг 2.27. Анализ на наличие одинаковых цифр

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

int A,B,C,Flag,I;

cout <<"Введите четырехзначное число:";

cin>>A;

Flag=0;

for (I=1;I <= 3; I++)

{

B= A % 10;

C= (A % 100) / 10 ;

if ( B == C)

{

Flag=1;

break;

}

A=A / 10;

}

if (Flag == 1)

cout <<"В числе есть соседние одинаковые цифры";

else

cout <<"В числе нет соседних одинаковых цифр";

_getch();

}

В следующем примере с клавиатуры вводится шестизначное число. Необходимо определить, является ли оно "счастливым". Напомним, что "счастливыми" считаются числа, у которых сумма первых трех цифр равна сумме вторых трех цифр. Разработка представлена в листинге 2.28, а блок-схема алгоритма на рис. 2.21.

Листинг 2.28. Анализ на счастливое число

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

long A;

int B,C,I;

cout <<"Введите шестизначное число:";

cin>>A;

B=0;

for (I=1; I<= 3; I++)

{

B= B + (A % 10);

A= A / 10;

}

C=0;

for (I=1; I<= 3; I++)

{

C= C+ (A % 10);

A=A / 10;

}

if (B == C)

cout <<"Число счастливое";

else

cout <<" Число не является счастливым";

_getch();

}

Рис. 2.21. Блок-схема к программе листинга 2.28

В следующем примере с клавиатуры вводится целое число (для определенности содержащее не более 7 знаков). Необходимо определить максимальную цифру в этом числе. Разработка представлена в листинге 2.29, а блок-схема алгоритма на рис. 2.22.

Рис. 2.22. Блок-схема к программе листинга 2.29

Листинг 2.29. Поиск максимальной цифры в числе

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

long A,I;

int B;

cout <<"Введите число:";

cin>>A;

B=0;

I=A;

while(I > 0)

{

if((I % 10) > B )

B= I % 10;

I= I / 10;

}

cout <<"Максимальная цифра в числе равна"<<B;

_getch();

}

С клавиатуры вводится целое число (для определенности не более 7 знаков и не менее двух). Необходимо определить две максимальные (различные) цифры в этом числе. Например, если введено число 567 374, то две максимальные цифры — это 7 и 6. Разработка представлена в листинге 2.30.

Листинг 2.30. Поиск двух максимальных цифр в числе

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

long A,I;

int B,C;

cout <<"Введите число:";

cin>>A;

B=0;

I=A;

while ( I>0 )

{

if ((I % 10) > B)

B= I % 10;

I= I / 10;

}

C=0;

I=A;

while ( I>0 )

{

if (((I % 10) > C) && ((I % 10) != B))

C= I % 10;

I= I / 10;

}

cout <<"'Максимальные цифры в числе "<<B<<" "<<C;

_getch();

}

Соседние файлы в папке файлы по информатике