Я пытаюсь написать программу, чтобы избавиться от первой и последней цифры числа. Для последней цифры погружение int на 10 разрешает эту проблему. Мне нужно найти способ использовать% для удаления первой цифры, но похоже, что моя логика где-то выключена, моя программа работает, но она работает неправильно. Видите ошибки в логике?C++ Удалить первые и последние цифры числа
#include <iostream>
using namespace std;
int main() {
int x;
int y;
cout << "Enter a number to have the first and last didgets removed" << endl;
cin >> x;
x /= 10;
y = x;
int count = 0;
while (y > 1)
{
y /= 10;
count++;
}
int newNum = x %(10^(count));
cout << newNum << endl;
cin.ignore();
cin.get();
return 0;
}
спасибо, я получил его. Единственным кодом, который мне пришлось изменить, был int newNum = pow (10, count); \t \t x% = newNum; \t \t cout << x << endl; Спасибо за помощь. –
@ XerradAnon Я бы не пошел на 'pow'. Что, если из-за округления вы получите '9999.99 ...' вместо '10000'. Даже если это не происходит на практике, подход является сомнительным и рискованным. – AlexD
@ XerradAnon Также 'while (y> 1)' выглядит неправильно. Попробуйте протестировать цифры, начинающиеся с '1' и с другими цифрами. – AlexD