网站首页 > 技术文章 正文
九九乘法表是我们在训练编程逻辑的时候必须掌握的,也可以说是算法入门必须会的设计思想。其实现效果如下,当然这是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讲:有源蜂鸣器鸣响控制
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)