Сравнить два целых числа, вывести результат
Дорогие форумчане,
еще один вопрос на сегодня.
Признателен Вам.
Задача. Ввод двух целых чисел. Сравнение этих чисел, печать результата сравнения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#include main() { int a, b; scanf_s("%d", &a); scanf_s("%d", &b); if (a > b) { printf("a is bigger than b"); } if (a = b) { printf("a is equal to b"); } if (a b) { printf("a is smaller than b"); } }
Почему, например, на ввод
8 10
выдаёт
a is equal to b
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Пользователь вводит два целых числа, а компьютер выводит результат 5 арифметических операций над ними
Всем привет!Выручите с программой!Код написал,но выдает ошибку! Вот задание: Написать программу.
Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков
4. Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде.
Ввести два целых положительных числа a и b; вычислить и вывести степень b числа
Разработать программу, которая позволяет ввести два целых положительных числа a и b; вычислить и.
Сложить два введенных числа и вывести результат
Изучать c начал совсем недавно. Помогите, пожалуйста, разобраться с функцией scanf. Требуется.
Как сравнить и вывести сколько чисел в двух одномерных массивах равны [C / C++]?
Существуют два массива arr[size] и arr_2[size] /* size = 7 */ Подскажите пожалуйста как с помощью C / C++ сравнить два этих массива и вывести число равных в них чисел. Например: arr<1, 2, 3, 4, 5, 6, 7>, а arr_2 <1, 2, 3, 44, 55, 66, 77>И в cout выводит «Чисел равных в этих массивах 3». Помогите, буду очень благодарен1,>
- Вопрос задан более трёх лет назад
- 2558 просмотров
Комментировать
Решения вопроса 2
C++ почти с рождения
Самое простое и понятное два цикла вложенных друг в друга. Т.е. Берёшь нулевой элемент первого массива, сравниваешь с каждым элементом второго. Потом первый и т.д
На c++ можно извратиться и записать это в одну конструкцию
Побаловался от нечего делать
inline int count_cpp() < return count_if(begin(a), end(a), [](int c) s(begin(b), end(b)); return s.find(c) != s.end();>); > inline int count_c() < int c = 0; for (int i = 0; i < N; ++i) < for (int j = 0; j < N; ++j) < if(a[i] == b[j]) < ++ c; break; >> > return c; > inline int count_map() < int c = 0; mapbm; for (auto i : b) < bm[i] = true; >for (auto i : a) < if (bm.find(i) != bm.end()) < ++ c; >> return c; >
Время выполнения для 10000 случайных элементов в диапазоне 0-10000
[cpp method] Time: 4006 us. [pure c method] Time: 71019 us. [map method] Time: 5178 us.
Сравнить два числа, вывести большее
Выдает следущие ошибки
Error 1 error C2059: syntax error : ‘else’ d:\навчання\програмирование\uprognenie\uprognenie\source.cpp 9 1 Uprognenie
Error 2 error C2563: mismatch in formal parameter list d:\навчання\програмирование\uprognenie\uprognenie\source.cpp 12 1 Uprognenie
Error 3 error C2568: ‘
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Даны два числа. Вывести большее из них
не хочет работать,я же написал если а больше b, то выводим a или наоборот,то в чем у меня.
Получить два целых числа, после этого вывести большее на печать
Всем добрый день. Помогите пожалуйста решить две задачки. 1)Напишите программу, которая.
Сравнить два числа и вывести результат сравнения
2.Написать функцию, которая сравнивает два числа и выводит результат сравнения.
Вводятся два произвольных числа A и B. Вывести на экран, делится ли большее из них на меньшее без остатка или нет
1. Вводятся два произвольных числа A и B. Вывести на экран, делится ли большее из них на меньшее.
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include using namespace std; int main () { cout"Enter two numbers"; int a,b; cin>> a>>b; if (a>b) { couta; } else { coutb; } if (a=b) { cout"chisla ravnie"endl; } return 0; }
Сравнение многоразрядных чисел
Многоразрядные числа представляют собой массив байтов, каждый из которых представляет собой символьное отображение соответствующей цифры числа. Количество разрядов такого числа определяется длиной символьной строки или размерностью массива.
Для многоразрядных чисел операция сравнения осуществляется следующим образом (при условии что введенные числа являются положительными):
- Сначала сравниваются длины (количество разрядов) двух рассматриваемых чисел. Большим является то число, которое содержит большее количество разрядов.
- Если количество разрядов двух чисел совпадает, вступает в силу поразрядное сравнение, которое продолжается до тех пор пока пары байтов двух чисел, соответствующие одинаковым разрядам, равны. Как только величина одного байта оказывается больше, формируется решение о результате сравнения чисел.
Функция сравнения чисел возвращает
- 1 в случае если первое число больше чем второе
- -1 в случае если первое число меньше чем второе
- 0 если числа равны.
Реализация на C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include
using namespace std;
int compare( char *a, char *b)
int lena = strlen(a); // количество разрядов первого числа
int lenb = strlen(b); // количество разрядов второго числа
if (lena > lenb)
return 1;
if (lenb > lena)
return -1;
for ( int i = 0; i < lena; i++) // поразрядное сравнение
if (a[i] > b[i])
return 1;
if (a[i] < b[i])
return -1;
>
return 0;
>
int main()
char a[1000] = < 0 >;
char b[1000] = < 0 >;
cout cin.getline(a, 1000);
cout cin.getline(b, 1000);
cout cin.get();
return 0;
>
Результат выполнения