网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月24日漏签0天
广信it学院吧 关注:999贴子:19,417
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回广信it学院吧
>0< 加载中...

九九乘法表的运算分析

  • 只看楼主
  • 收藏

  • 回复
  • Programmer_LSS
  • 锋芒毕露
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
作者:罗松升
九九乘法表表的话相信大家都很熟悉,九九乘法表在代码中怎么像教科书一样整齐的排列出来呢。
这里可以使用到for循环或者递归循环来解决。
首先先来分析一下,九九乘法表中需要三个值:乘数,被乘数以及相乘结果数。但是如果这样直接乘出来的话结果会有所问题,那就是值重复,比如:2*1=2 和1*2=2 这种类型就是重复了,那么我们在写代码中应该去避免这样的问题发生。解决这个问题有两种方法:
1、 第一种情况是X*Y,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、 第二种情况是X*Y,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的时候,返回该方法
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回广信it学院吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示