九九乘法表的运算分析

九九乘法表表的话相信大家都很熟悉,九九乘法表在代码中怎么像教科书一样整齐的排列出来呢。
这里可以使用到for循环或者递归循环来解决。
首先先来分析一下,九九乘法表中需要三个值:乘数,被乘数以及相乘结果数。但是如果这样直接乘出来的话结果会有所问题,那就是值重复,比如:21=2 和12=2 这种类型就是重复了,那么我们在写代码中应该去避免这样的问题发生。解决这个问题有两种方法:
1、第一种情况是XY,Y值由X到9,X自增;
先判断X是否小于10,当小于10的时候先输出X
Y得到结果值。然后对Y进行自增,在Y自增之后进行一个判断,判断Y自增以后是否等于10,如果Y等于10时,X值进行自增,然后X赋值给Y然后输入换行符再进行重载循环,跳出判断循环结束。
这种结果得到的乘法表是
在这里插入图片描述
代码如下:
int tables(int ,int );//声明方法原型;
void main(){
tables(1, 1);//调用方法;
}
int tables(int x, int y)//设置X值和Y值
{
if (x < 10) {
int k = x * y;//设置一个K值来接收X*Y的结果数据。
cout << x << " * " << y << " = " << k << ends;//调取X、Y、K的值,并把它输出出来
if (k < 10) {
cout << ends;//此处是判断结果值K是否小于十,如果小于10就给多一位空格,这样当值为两位数的时候就能显得更美观
}
y++;//y值输出完了以后将y++自增用于循环自增。
if (y == 10) {//判断上面的自增值等于10时运行此处if语句
x++;//通过x自增来重新定义乘法表的列。
y = x;//x赋值给y
cout << endl;//换行输出
}
num(x,y);//获取X和Y值重新调用自己
}
else
{
return x, y;//当X和Y都大于10的时候,返回该方法
}
}

2、第二种情况是XY,X=Y时,X+1,Y从1重新开始。
首先判断X是否小于10,当X小于10时,输出X
Y得到结果值。然后判断Y值是否等于X值,当Y=X时,输出换行符,X自增,然后Y值赋值为1,然后再进行递归循环。当Y不等于X时,Y进行自增,然后进行递归循环。当X等于10或者大于10时,跳出循环结束。
这种结果得到的乘法表是
在这里插入图片描述
代码如下:
int num_1(int ,int );//声明方法原型;
void main(){
num_1(1, 1);//调用方法;
}
int num_1(int x, int y)
{
if (x < 10) {
int k = x * y;//设置一个K值来接收X*Y的结果数据。
cout << x << " * " << y << " = " << k << ends;//调取X、Y、K的值,并把它输出出来
if (k < 10) {
cout << ends;
}
if (y == x) {//当Y=X的时候,X自增,Y赋值为1。
x++;
y = 1;
cout << endl;
}else
{//当Y不等于X的时候,Y自增。
y++;
}
num_1(x, y);
}else{ return x, y;}//当X和Y都大于10的时候,返回该方法
}

猜你喜欢

转载自blog.csdn.net/qq_39686486/article/details/89609089