Двузначное число из трехзначного - C (СИ)
Формулировка задачи:
Дано трехзначное число. Удалите в нем так одну цифру, чтобы получить наименьшее возможное двузначное число.
Входные данные
Одно трехзначное натуральное число.
Выходные данные
Вывести наименьшее возможное двузначное число.
Входные данные #1
123
Выходные данные #1
12
Я решил задачу ,но прошло 92%.
Вы можете помочь найти мою ошибку ?
#include <iostream>
using namespace std;
int main(){
int a,b,c,n;
cin>>n;
a=n/100;
b=n/10%10;
c=n%10;
if((b==0 && c==0 )|| ( b>=a && b>=c))cout<<a*10+c<<endl;
else if( (c>=a && c>=b && a<=b) || (c>=a && c>=b && a>=b && b==0))cout<<a*10+b<<endl;
else if((a>=b && a>=c) || (c>=a && a>=b) )cout<<b*10+c<<endl;
return 0;
}Решение задачи: «Двузначное число из трехзначного»
textual
Листинг программы
min = -1; if(a) min = a*10 + b; if(a && a*10 + c < min) min = a*10 + c; if(b && b*10 + c < min) min = b*10 + c;
Объяснение кода листинга программы
minобъявлен как переменная типа int и инициализирован значением -1.- Проверяется условие
a, если оно истинно, то выполняется следующее выражение:minприсваивается значениеa*10 + b. - Проверяется условие
a && a*10 + c < min, если оно истинно, то выполняется следующее выражение:minприсваивается значениеa*10 + c. - Проверяется условие
b && b*10 + c < min, если оно истинно, то выполняется следующее выражение:minприсваивается значениеb*10 + c.