Регистрация
14 Июн 2013
Сообщения
69
Репутация
-1
Спасибо
0
Монет
0
Есть код. Он рабочий. Решение из интернета и все однотипные. И все прекрасно работает, но есть нюанс. Допустим если число будет 9035, 9 он отбросит поскольку логически встретит 0 и прекратит выполнение. Что можно придумать?

#include <iostream>



using namespace std;

int main() {



int n, m = 0, x;

cin >> n;

for (int i = 10; i <= n; i++)

{

x = i;

while (x)

{

m = m * 10 + x % 10;

x /= 10;

}

cout << m << "\n";

m = 0;

}

}
 
Проверку на 0 добавить тогда
 
#include

int main()
{
int a = 9035;
int b = 0;
while (a)
{
b = b * 10 + a % 10;
a = a / 10;
}
printf("%d\n", b); // 5309
return 0;
}
 
#include

using namespace std;

int main() {
int n, m = 0, x;
cin >> n;
x = n;
while (x) {
m = m * 10 + x % 10;
x /= 10;
}
cout
 
Перевернуть шестерку можно написав девятку и так же с девяткой
 
фвцфцвфцвфывфывфывфывфывфывфывфы
 
Ты ошибаешься: код, встретив цифру 0, вполне себе продолжится и никакого отбрасывания 9 не будет. У тебя же while(x), а значением x будет не 0, а последовательно: 9035, 903, 90, 9... И только поле этого будет 0 - когда все 4 цифры уже обработаны.
 
Назад
Сверху