网站首页 > 技术文章 正文
九九乘法表是我们在训练编程逻辑的时候必须掌握的,也可以说是算法入门必须会的设计思想。其实现效果如下,当然这是web编程输出的结果:
初学者在学习程序设计的过程中,九九乘法表算是逻辑比较复杂的一个了,它考察了如下的知识点:
(1)while或者for循环结构
(2)如何实现2个维度的循环
(3)外层循环这个维度如何控制内层循环这个维度
(4)数据输出的格式怎么组织
对于(4)来说,这其实是个难点,因为不同的语言有不同的输出格式。如果是web页面还要涉及到HTML和脚本语言javascript如何协调,样式如何协调等问题。
一、C语言实现九九乘法表
考虑到绝大多数同学第一门编程语言是C语言,所以首先我们来使用C语言分析如何实现九九乘法表:
1、 行列结构2个维度需要2个维度的循环
2、行的循环是外层循环,列的循环是内层循环
行循环:
for( i=1;i<=9;i++) { }
行列循环:
for( i=1;i<=9;i++)
{
for( j=1;j<=9;j++)
{
}
}
3、寻找控制关系,即列受行控制
for( i = 1;i <= 9 ;i++)
{
for( j = 1;j <= i ; j++)
{
}
}
4、最后处理好数据展现的格式,完整源代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,j;
for( i = 1;i <= 9 ;i++)
{
for( j = 1;j <= i ; j++)
{
printf("%d",i);
printf("x" );
printf("%d",j);
printf("=" );
printf("%d ",i*j);
printf(" ");
}
printf("\n");
}
return 0;
}
编译后输出的结果如下图所示:
二、Python语言实现久久乘法表
由于Python的输出函数print()不能换行,所以借助于参数end = ""来实现。同时Python的语法一定要注意缩进格式,不然会报错,这点我已经在很多篇文章强调过了。实现过程如下所示:
i = 1
while i <= 9:
j = 1
while j <= i:
print(str(i) + "x" + str(j) + "=" + str(i*j) + " ",end = "" )
j = j + 1
i = i + 1
print()
读者在读上述代码的时候可能会收到编辑格式的影响,这里我把我写的Python代码截图出来,以方便初学者参考:
打印输出结果如下:
三、在web端实现
如果没有学过web页面的同学想知道久久乘法表如何在web端实现,这里给出了JavaScript的代码,注意先建立个multiplication99.html文件,使用文本编辑器编辑该页面输入下列代码即可:
<style>
.c1{ color:blue; }
.c2{ color:red; }
td{ border:1px solid black;}
</style>
<table width=500 cellspacing=0>
<script>
for(var i = 1 ; i<= 9 ;i++){
document.write("<tr>");
for(var j = 1 ; j <=i ; j++){
if(i%2 == 0){
document.write("<td class='c2'> "+i+"x"+j+"="+(i*j)+" </td>");
}else{
document.write("<td class='c1'> "+i+"x"+j+"="+(i*j)+" </td>");
}
}
document.write("</tr>");
}
</script>
</table>
运行的结果文章开头已经给大家展现了,请自己试着运行下。
- 上一篇: 电容式触摸按键(电容式触摸按键无故触发)
- 下一篇: C++类定义与继承(一)(c++,类)
猜你喜欢
- 2024-09-10 【STM32F103ZET6开发板】第2-1讲:GPIO硬件设计及原理介绍
- 2024-09-10 【STM32F103ZET6开发板】第2-5讲:外部中断EXTI
- 2024-09-10 关于Linux 进程编程入门(进阶)(linux进程代码)
- 2024-09-10 「STC8A8K64D4开发板」第2-12讲:数码管显示
- 2024-09-10 【STM32F103ZET6开发板】第2-6讲:USART串口通信
- 2024-09-10 【STM32F103ZET6开发板】第2-3讲:GPIO输出驱动蜂鸣器
- 2024-09-10 【STM32F103ZET6开发板】第2-2讲:GPIO输入按键检测
- 2024-09-10 【STM32F103ZET6开发板】第3-7讲:电子墨水屏显示
- 2024-09-10 【STM32F103ZET6开发板】第2-4讲:触摸按键输入检测
- 2024-09-10 【STC8A8K64D4开发板】——第2-2讲:有源蜂鸣器鸣响控制
- 08-03MySQL数据库的预处理详解
- 08-03《阿常·MySQL 70讲》全套教学视频
- 08-03隐式等待、显示等待和强制等待
- 08-03零基础C#上位机框架项目实例(完结篇)
- 08-03一文搞懂构建Web内容的技术
- 08-03西门子WINCC中的VBScript(VBS)常用于自动化脚本开发
- 08-03力控和sql2000之间的数据转储
- 08-03组态王|通过日历控件选择时间段查询历史报警
- 1521℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 640℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 527℃MySQL service启动脚本浅析(r12笔记第59天)
- 492℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 492℃启用MySQL查询缓存(mysql8.0查询缓存)
- 479℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 461℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 459℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- htmlbackground-image (68)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)