题目:请输出如下所示的九九乘法表:(注意格式,例如空格和对齐方式的要求)
1*1= 1 1*2= 2 2*2= 4 1*3= 3 2*3= 6 3*3= 9 1*4= 4 2*4= 8 3*4=12 4*4=16 1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25 1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
题目分析:由题目可得,输出的为一个左下三角的九九乘法表.
1、该乘法表从左往右的每一列中,乘号前面的数字是相同的,而乘号后面的数字随着行的增加而加一即乘号后面的数字每一行都是相等的;
2、每个乘法算式的运算结果占两位且右对齐;
3、每个结果与下一个乘法算式之间相隔一个空格;
源代码:
#include<iostream>
#include<iomanip> //C++左对齐、右对齐的头文件
using namespace std;
int main()
{
int i,j,k;
for(i=1;i<=9;i++) //代表乘号后面的乘数
{
for(j=1;j<=i;j++) //代表乘号前面的乘数
{
cout<<j<<"*"<<i<<"="<<setw(2)<<j*i<<" "; //先输出乘号前面的乘数,然后输出“*”代表乘号,然后输出乘号后面的乘数,再输出“=”,设置域宽为2,即结果占两位且右对齐(因为setw()默认为右对齐),最后输出一个空格用来使结果和下一个乘法算式之间空一格
}
cout<<endl; //换行
}
return 0;
}
结果:
?
总结:在使用for循环时一定要考虑清楚条件。注意输出的格式。若想在C++中使用左对齐、右对齐函数一定要引入头文件#include<iomanip> !
|