Возвести, введенное с клавиатуры число, в степень n, степень тоже вводится с клавиатуры. Возведение в степень организовать с использованием циклов.
Примечание: не использовать функцию pow для нахождения степени. Результат работы программы показан на рисунке 1. Подсказка — используйте циклы, в частности — цикл for.

Рисунок 1 — Возведение числа в степень
Решение
// pow.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "Enter number: " << endl; // введите число
int numb; // число возводимое в степень
cin >> numb;
cout << "Enter power: "; // введите степень
int power;
cin >> power;
int count = 1; // переменная отвечающая за истинность условия цикла do while
int power_numb = numb; // результат возведения числа в степень
do
{
if (power == 0)
power_numb = 1;
else
if (power != 1 && power > 0)
power_numb = power_numb * numb; // возводим в степень
count++; // инкремент переменной-счётчика
} while ( power > count); // проверка условия цикла do while
cout << "number = " << power_numb << endl; // печать возведённого числа в степень
system("pause");
return 0;
}
Предлагаю вам иное решение задачи возведения в степень. Огромное спасибо автору этого решения, кстати, — это пользователь нашего сайта platin. Итак, код программы смотрим ниже:
#include <stdio.h>
#include <iostream>
using namespace std;
int main(){
setlocale (LC_ALL, "RUS");
int a, n, rezult=1, i;
cout<< "Введите возводимое в степень число: ";
cin>>a;
cout<< endl<< "Введите стень числа: ";
cin>>n;
for(i=0; i<n; i++)
rezult *=a;
cout<< endl<< "Результата возведения в степень "<<n<< " числа "<< a<< " = "<<rezult<< endl;
return 0;
}
Могу сказать, что данный исходник немного меньше предыдущего, возведение в степень выполняется тоже через цикл, но, цикл for. Возможно не хватает парочки проверок, но в целом решение правильное.
Добавил очередное решение задачи возведения числа в степень, которое предоставил нам — Алексей Нестерчук. Код программы показан ниже:
#include <iostream>
using namespace std;
int main()
{
int a, b, z;
cout<< "Chislo: "<<endl;
cin>>a;
z = a;
cout<<" Stepen: "<<endl;
cin>>b;
cout<<"--------"<<endl;
for (int i = 1; i<b; i++ ){
a = a * z;
cout<<a<<endl;
}
cin.get();
}
Пример работы последнего исходника. Особенность этого исходника в том, что возведение в степень отображается пошагово, это хорошо видно из примера. Поблагодарим Алексея Нестерчука за данный исходник.
Chislo:
2
Stepen:
10
--------
4
8
16
32
64
128
256
512
1024