要求:运用嵌套循环打印九九乘法表
我的实现方式比较复杂,具体实现方法如下
#include <iostream>
#include <string>
using namespace std;
int main()
{
//利用嵌套循环实现九九乘法表
int a = 1; //起始1
int b = 1; //起始1
int m = 0; //为了每行都能从1开始打印所定义的中间变量
int c = 0; //保留计算结果的变量
int j = 1; //判断循环用的变量
for (int i = 9; j < i; j++) //打印九行乘法表
{
m = a; //将a的值重新赋给m,防止m因为经历下个循环后,导致m的初值不是1,这也是定义m变量的作用
for (; m <= j && b <= j;b++) //打印每行乘法表的第一个计算式
{
c = m * b; //保留计算结果
cout << m << "*" << b << "=" << c << " "; //打印1*b(也就是行数)
}
while ( m<b && b>1) //打印每行乘法表中剩余的计算式
{
m++; //列数++
c = m * b; //保留计算结果
cout << m << "*" << b << "=" << c << " "; //打印不同的m(列数)*b(行数)
}
cout << endl; //打印完一行进行换行
system("pause");
return 0;
}
与我复杂的代码相比,我觉得老师的代码更巧妙简单,老师直接将行数列数相乘就可以直接看成乘法表。
#include <iostream>
#include <string>
using namespace std;
int main()
{
for (int i = 1; i <= 9; i++) //行数
{
for (int j = 1; j <= i; j++) //列数
{
cout << j << "*" << i << "=" << (i*j) << " "; //行列相乘即为结果
}
cout << endl; //换行
}
system("pause");
return 0;
}