Problem with sentinel controlled loop

So far I have written a code to find the reverse of a number as well as the sum of the digits for an integer. The program is meant to keep asking the user for a new integer so that it will find the sum and reverse of that new integer again. However when the program asks the user for a new integer it just adds it to the original one how can I separate the operation. For example this is what came out:

Enter an integer:

123

The sum of the digits is: 6

The reverse of the number is : 321

1 <------------ (at this part it didn't even go back to the original printf statement)

The sum of the digits is: 7

The reverse of the number is : 3211

Code:

`#include <stdio.h>`

int main()

{

int n, sum=0, r, reverse=0;

printf("Enter an integer:\n");

scanf("%d", &n);

while(n!=-1)

{

while(n!=0)

{

r=n%10;

sum=sum+r;

reverse=reverse*10;

reverse=reverse+n%10;

n=n/10;

}

printf("The sum of the digits is: %d\n", sum);

printf("The reverse of the number is : %d\n", reverse);

scanf("%d", &n);

}

return 0;

}

By the way I am new with this so please bear with me, thank you in advance.