使用 C++ 创建 Table 次幂
Creating a Table of Powers with C++
我正在开发一个项目,使用嵌套的 for 循环打印出 table 的指数数。用户指定要打印的行数和幂数。例如,如果用户指定 2 行和 3 次方,则程序应打印 1,1,1 和 2,4,9(2^1,2,3 等)。我应该注意这是针对 class 的,我们不允许使用 cmath,否则我会使用 pow()。我似乎无法在嵌套的 for 循环中找出可以更改基数和指数值的正确函数。这是我到目前为止所拥有的。谢谢你的帮助!
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
int r, p, a;
cout << "The program prints a table of exponential powers.\nEnter the number of rows to print: ";
cin >> r;
cout << "Enter the number of powers to print: " ;
cin >> p;
cout << endl;
for (int i = 1 ; i <= r; i++)
{
cout << setw(2) << i;
for (int q = 1; q <= i; q++)
{
a = (q * q); //This only works for static numbers...
cout << setw(8) << a;
}
cout << endl;
}
}
for (int i = 1 ; i <= r; i++)
{
cout << setw(2) << i;
int a = 1;
for (int q = 1; q <= r; q++)
{
a = (a * i);
cout << setw(8) << a;
}
cout << endl;
}
有几点需要注意。首先,您可以通过维护变量 a 并将其乘以每个幂的 i 来计算幂。另外,我认为您希望第二个循环的上限为 r 而不是 i。
你需要两个人来改变累积一个数的幂的值的方式。
此外,您在内部 for 循环中使用了错误的变量来结束循环。
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
int r, p, a;
cout << "The program prints a table of exponential powers.\nEnter the number of rows to print: ";
cin >> r;
cout << "Enter the number of powers to print: " ;
cin >> p;
cout << endl;
for (int i = 1 ; i <= r; i++)
{
cout << setw(2) << i;
a = 1; // Start with 1
for (int q = 1; q <= p; q++) // That needs to <= p, not <= i
{
a *= i; // Multiply it by i get the value of i^q
cout << setw(8) << a;
}
cout << endl;
}
}
我正在开发一个项目,使用嵌套的 for 循环打印出 table 的指数数。用户指定要打印的行数和幂数。例如,如果用户指定 2 行和 3 次方,则程序应打印 1,1,1 和 2,4,9(2^1,2,3 等)。我应该注意这是针对 class 的,我们不允许使用 cmath,否则我会使用 pow()。我似乎无法在嵌套的 for 循环中找出可以更改基数和指数值的正确函数。这是我到目前为止所拥有的。谢谢你的帮助!
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
int r, p, a;
cout << "The program prints a table of exponential powers.\nEnter the number of rows to print: ";
cin >> r;
cout << "Enter the number of powers to print: " ;
cin >> p;
cout << endl;
for (int i = 1 ; i <= r; i++)
{
cout << setw(2) << i;
for (int q = 1; q <= i; q++)
{
a = (q * q); //This only works for static numbers...
cout << setw(8) << a;
}
cout << endl;
}
}
for (int i = 1 ; i <= r; i++)
{
cout << setw(2) << i;
int a = 1;
for (int q = 1; q <= r; q++)
{
a = (a * i);
cout << setw(8) << a;
}
cout << endl;
}
有几点需要注意。首先,您可以通过维护变量 a 并将其乘以每个幂的 i 来计算幂。另外,我认为您希望第二个循环的上限为 r 而不是 i。
你需要两个人来改变累积一个数的幂的值的方式。
此外,您在内部 for 循环中使用了错误的变量来结束循环。
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
int r, p, a;
cout << "The program prints a table of exponential powers.\nEnter the number of rows to print: ";
cin >> r;
cout << "Enter the number of powers to print: " ;
cin >> p;
cout << endl;
for (int i = 1 ; i <= r; i++)
{
cout << setw(2) << i;
a = 1; // Start with 1
for (int q = 1; q <= p; q++) // That needs to <= p, not <= i
{
a *= i; // Multiply it by i get the value of i^q
cout << setw(8) << a;
}
cout << endl;
}
}