# C++ Program to Find Sum of First and Last Digit of a Number

« C++ Tutorial C++ Example »

This article is created to provide some programs in C++ to find and print the sum of first and last digit of a given number. The program is created in following ways:

• Using while loop
• Using for loop
• Using user-defined function

## Find Sum of First and Last Digit using while Loop

The question is, write a program in C++ that receives a number from user as input and print the sum of first and last digit of given number as output. Here is its answer:

```#include<iostream>

using namespace std;
int main()
{
int num, temp=0, last, rem, sum=0;
cout<<"Enter a Number: ";
cin>>num;
while(num!=0)
{
if(temp==0)
{
last = num%10;
temp++;
}
rem = num%10;
num = num/10;
}
sum = rem + last;
cout<<"\nSum of First ("<<rem<<") and Last ("<<last<<") Digit = "<<sum;
cout<<endl;
return 0;
}```

The snapshot given below shows the initial output produced by above C++ program on finding the sum of first and last digit of given number:

Now supply the number say 23094 as input and press `ENTER` key to find and print the sum of first (that is 2) and last (that is 4) digit of this number like shown in the snapshot given below:

In above program, the dry run of following block of code:

```   while(num!=0)
{
if(temp==0)
{
last = num%10;
temp++;
}
rem = num%10;
num = num/10;
}```

with num=23094, temp=0, sum=0 goes like:

• The condition num!=0 or 23094!=0 evaluates to be True
• Therefore program flow goes inside the loop and the condition of if gets evaluated
• That is, the condition temp==0 or 0==0 evaluates to be True
• Therefore program flow goes in the body of if and num%10 or 23094%10 or 4 gets initialized to last
• And the value of temp gets incremented. So temp=1. Because the value of temp is 1 from now, therefore the condition of if always gets evaluated to be False from now
• This means, the variable last holds 4 as its final value. That is the last digit of given number
• Now after exiting from the if, num%10 or 23094%10 or 4 gets initialized to rem. This statement is created to get the last remainder, that is 2 at last execution
• And the last statement of the loop gets executed, that is num/10 or 23094/10 or 2309 gets initialized to num. Therefore num=2309 now
• Since all statements available in the body of while loop gets executed, therefore program flow evaluates its condition again
• That is, the condition num!=0 or 2309!=0 again evaluates to be True. Therefore program flow again goes inside the loop
• This process continues, until the condition evaluates to be False
• In this way, after exiting from the loop, we will have last=4 and rem=2
• Therefore just add them and print the addition result of first and last digit of given number. That's it

## Find Sum of First and Last Digit using for Loop

Since for loop also contains initialize and update statements along with condition checking. Therefore, just place any initialization say temp=0 or sum=0 and the update statement as num = num/10 like shown in the program given below:

```#include<iostream>

using namespace std;
int main()
{
int num, temp, last, rem, sum=0;
cout<<"Enter a Number: ";
cin>>num;
for(temp=0; num!=0; num=num/10)
{
if(temp==0)
{
last = num%10;
temp++;
}
rem = num%10;
}
sum = rem + last;
cout<<"\nSum of First ("<<rem<<") and Last ("<<last<<") Digit = "<<sum;
cout<<endl;
return 0;
}```

This program exactly produces same output as of previous program.

## Find Sum of First and Last Digit using Function

This is the last program of this article, created using a user defined function named sumfun() that takes the given number as its argument and returns the sum of first and last digit of its argument.

```#include<iostream>
using namespace std;

int sumfun(int);
int main()
{
int num, sum;
cout<<"Enter a Number: ";
cin>>num;
sum = sumfun(num);
cout<<"\nSum of First and Last Digit = "<<sum;
cout<<endl;
return 0;
}
int sumfun(int n)
{
int t=0, l, r, s=0;
while(n!=0)
{
if(t==0)
{
l = n%10;
t++;
}
r = n%10;
n = n/10;
}
s = r + l;
return s;
}```

Here is its sample run with user input 12030:

C++ Online Test

« C++ Tutorial C++ Example »