# C++ Exercises: Find the first and last digit of a number

## C++ For Loop: Exercise-56 with Solution

Write a program in C++ to find the first and last digit of a number.

**Pictorial Presentation:**

**Sample Solution**:-

**C++ Code :**

```
#include <iostream>
using namespace std;
int main()
{
int n,first,last;
cout << "\n\n Find the first and last digit of a number:\n";
cout << "-----------------------------------------------\n";
cout << " Input any number: ";
cin >> n;
first = n;
last=n % 10;
for(first=n;first>=10;first=first/10);
cout<<" The first digit of "<<n<<" is: "<<first<<endl;
cout<<" The last digit of "<<n<<" is: "<<last<<endl;
}
```

Sample Output:

Find the first and last digit of a number: ----------------------------------------------- Input any number: 5679 The first digit of 5679 is: 5 The last digit of 5679 is: 9

**Flowchart: **

**C++ Code Editor:**

** Contribute your code and comments through Disqus.**

**Previous:** Write a program in C++ to display such a pattern for n number of rows using number. Each row will contain odd numbers of number.
The first and last number of each row will be 1 and middle column will be the row number. n numbers of columns will appear in 1st row.

**Next:** Write a program in C++ to find the sum of first and last digit of a number.

**What is the difficulty level of this exercise?**

## C++ Programming: Tips of the Day

**What is a smart pointer and when should I use one? **

This answer is rather old, and so describes what was 'good' at the time, which was smart pointers provided by the Boost library. Since C++11, the standard library has provided sufficient smart pointers types, and so you should favour the use of std::unique_ptr, std::shared_ptr and std::weak_ptr.

There was also std::auto_ptr. It was very much like a scoped pointer, except that it also had the "special" dangerous ability to be copied - which also unexpectedly transfers ownership.

It was deprecated in C++11 and removed in C++17, so you shouldn't use it.

std::auto_ptr<MyObject> p1 (new MyObject()); std::auto_ptr<MyObject> p2 = p1; // Copy and transfer ownership. // p1 gets set to empty! p2->DoSomething(); // Works. p1->DoSomething(); // Oh oh. Hopefully raises some NULL pointer exception.

Ref : https://bit.ly/3mc9GHE

**Exercises: Weekly Top 16 Most Popular Topics**- SQL Exercises, Practice, Solution - JOINS
- SQL Exercises, Practice, Solution - SUBQUERIES
- JavaScript basic - Exercises, Practice, Solution
- Java Array: Exercises, Practice, Solution
- C Programming Exercises, Practice, Solution : Conditional Statement
- HR Database - SORT FILTER: Exercises, Practice, Solution
- C Programming Exercises, Practice, Solution : String
- Python Data Types: Dictionary - Exercises, Practice, Solution
- Python Programming Puzzles - Exercises, Practice, Solution
- C++ Array: Exercises, Practice, Solution
- JavaScript conditional statements and loops - Exercises, Practice, Solution
- C# Sharp Basic Algorithm: Exercises, Practice, Solution
- Python Lambda - Exercises, Practice, Solution
- Python Pandas DataFrame: Exercises, Practice, Solution
- Conversion Tools
- JavaScript: HTML Form Validation