1、正向:
#include<iostream>
using namespace std;
int main()
{
for(int i=1;i<=9;++i)
{
for(int j=1;j<=i;++j)
{
cout<<j<<"*"<<i<<"="<<j*i<<" ";
if(j==i)
{
cout<<endl;
}
}
}
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/bf9e466a9c1f5f1c346601b5ad89ffa9.png)
2、反向:
#include<iostream>
using namespace std;
int main()
{
for(int i=9;i>=1;--i)
{
for(int j=i;j>=1;--j)
{
if(i==j)
{
for(int k=1;k<=9-i;++k)
{
cout<<" ";
}
}
if(i*j<10)
{
cout<<i<<"*"<<j<<"="<<i*j<<" ";
}
else
{
cout<<i<<"*"<<j<<"="<<i*j<<" ";
}
}
cout<<endl;
}
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/569c46ec5043014205530a9bd725b38c.png)
这个反向打印的列是左对齐的,网上好多都没有对齐,想了半天,写的比较复杂,网上有个C语言的写的很简单但是没看懂。