я хочу заменить 5 на 6 и напечатать число
Я хочу заменить 5 на 6 и напечатать номер, но я не могу понять, что не так в моем коде. например, когда я даю 200, выходной сигнал должен быть таким же, то есть 200, но он дает 199, а когда я даю 205 в качестве входных данных вместо 206 в качестве выходных данных, он дает сам 205.
#include<stdio.h>
#include<math.h>
int main()
{
int n,i=0,r,sum=0;
while(1){
printf("\nenter no\n");
scanf("%d",&n);
while(n>0)
{
r=n%10;
printf("r is= %d\n",r);
if(r==5)
{
r=6;
}
sum=sum+(r*pow(10,i));
n=n/10;
i++;
}
printf("new no is:\t %d",sum);
sum=0;i=0;
}
return 0;
}