Почему на первой итерации n1 получает значение "49999" вместо "50000"
Я написал небольшой код, чтобы перевернуть пятизначное число, но на первой итерации я получаю неправильное значение, и я не могу понять, почему.
<pre>#include<stdio.h> #include<iostream> #include<cmath> using namespace std; main() { int n, temp, n1; cout<<"\nEnter the no.: "; cin>>n; temp=n; n1=0; int i=0; while(i<5) { if(temp<10) n1=n1+temp; else { n1=n1+temp%10*pow(10,4-i); temp=temp/10; } cout<<"\ni= "<<i<<" temp= "<<temp<<" n1= "<<n1; i++; } cout<<"\n"<<n1; return 0; }
Что я уже пробовал:
Я попытался получить последнюю цифру, получив напоминание, разделив его на 10, а затем умножив значение на 10 pow (4-i)
Mohibur Rashid
n1=n1+temp%10*pow(10,4-i);
Что это такое?