Напишите функцию, которая принимает два целых числа
n
и k
и возвращает число, содержащее k
первых цифр числа n
.Прочитайте статью о том, как определять и использовать функции в своей программе. Подсчет разрядов числа можно организовать с помощью цикла while. Результат работы программы показан ниже:
// k_digit.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> using namespace std; int k_digit(int n, int k); // прототип int main(int argc, char* argv[]) { setlocale(LC_ALL, "rus"); cout << "Введите число: "; unsigned long number, level; cin >> number; cout << "Сколько разрядов показать? "; cin >> level; cout << k_digit(number, level) << endl; system("pause"); return 0; } int k_digit(int n, int k) { int save_n = n, // делаем копию числа counter_digits = 0; // количество разрядов вводимого числа while (save_n) // пока результат деления не равен нулю { save_n /= 10; counter_digits++; // подсчёт количества разрядов вводимого числа } for (int counter = 0; counter < (counter_digits - k); counter++ ) n /= 10; // отсекаем лишние разряды введённого числа return n; }
Результат:
CppStudio.com
Введите число: 345238
Сколько разрядов показать? 3
345
Комментарии
Migizi