九九乘法表是一个优秀的数学算法,它就是我们从小就开始背诵的乘法口诀。可以说,九九乘法表的出现极大地推动了人类文明的进步。那么,在计算机程序中如何实现这一简单的算法呢?方法是有很多的,可以说,每种语言都有其实现的独特的方法。下面,小编通过用net C#语言为例,来为大家讲解吧。
工具/原料
Visual Studio 2013编辑器
net环境的电脑
方法/步骤
1
第一步,本方法是用后端语言C#语言实现的。通过借助Visual Studio 2013编辑器来实现九九乘法表。首先打开安装在电脑中的Visual Studio 2013,点击左上方的文件菜单,点击新建,新建项目。在d出的新建项目窗口中,新建一个项目,选择控制台应用程序,并命名。点击确定。如图所示:
2
第二步,可以看到生成的Programcs文件,在其main方法下写相关代码。通过两个for循环嵌套,分别来控制行数与列数。i控制行数,即从1行至9行循环; j控制列数,即从1列至第9列。就这样按照这个规律依次循环。代码如下:
for (int i = 1; i < 10; i++) //控制行数,即从1行至9行
{
for (int j = 1; j < 10; j++) //控制列数(行数增加时列数也随着增加)形成9行9列的效果
{
}
}
3
第三步,每循环一次再判断当前列数是不是小于等于行数,若成立,则打印出一个等式;否则另起一行输出相应的等式。格式为:行乘以列等于相应的值。注意的是,"\t"表示将光标后移8位。代码如下,如图所示:
if (j <= i)
{
ConsoleWrite("{0}{1}={2} \t", i, j, i j); //行数乘以列数得两数之积,"\t"表示将光标后移8位
}
4
第四步,我们在内循环外加一句“ ConsoleWriteLine();”,表示每行打印完后换一行打印乘法等式;在两个循环外加句“ ConsoleReadKey();”,表示循环完后获取用户按下的下一个字符,并显示在控制台窗口中。如图所示:
5
最后,我们点击上方的绿色按钮,启动应用程序,查看效果如图。于是,形成了我们所看到的9行9列的效果了。完整的代码如下。这样,简单的九九乘法表就完成了。结果如图所示:
for (int i = 1; i < 10; i++) //控制行数,即从1行至9行
{
for (int j = 1; j < 10; j++) //控制列数(行数增加时列数也随着增加)形成9行9列的效果
{
if (j <= i)
{
ConsoleWrite("{0}{1}={2} \t", i, j, i j); //行数乘以列数得两数之积,"\t"表示将光标后移8位
}
}
ConsoleWriteLine();
}
ConsoleReadKey();
}
附:本经验关键词:九九乘法表如何实现、C#实现九九乘法表、九九乘法表c#、九九乘法表实现、九九乘法表代码、c#九九乘法表代码、用c#编写九九乘法表、九九乘法表
关于JS如何实现九九乘法表,请查看(或者点击下面的“经验引用”链接)我的另一篇经验“九九乘法表怎么实现”。
6九九乘法表怎么实现
题目的要求是什么?
要求8个数码管同时显示。
让数码管依次显示0~7这8个数字,
8个数码管滚动显示数字,
是先显示1秒钟01234567,之后再显示70123456,1秒钟之后,再显示67012345,吗?
楼主的程序,现在是显示出来什么了?
========
电路图有明显错误。
看程序中的段码,应该使用共阳的数码管,即,数码管的公共端,应该接高电平。
但是,电路中,却经过三极管,接地了。
7920只能驱动32路,12864为两个7920控制,你想一个一个的卷动必须设置CS1,CS2,加入CS1上屏,CS2,下屏,你先控制CS1=0,CS2=1;然后COM地址加一,32以后,CS2=0,CS1=1; 然后COM地址加一就搞定
//程序如下
#include <pich>
#define _XTAL_FREQ 4000000
__CONFIG(INTIO & WDTDIS & PWRTDIS& MCLRDIS & UNPROTECT & BORDIS & IESODIS & FCMDIS);
void main(void){
ANSEL =0x00;
ANSELH=0x00;
ADCON0=0x00;
inta=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
if(RB5==0){
TRISA =0x00;
TRISB =0x30;
TRISC =0x00;
while(1){
if(RB4==1){
PORTC=0xb6;PORTA=0x01;
__delay_ms(100); __delay_ms(100);
if(RB4==0){
a+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100); //在改个函数,程序更紧凑
if(a==3){
PORTA=0x20;PORTC=0xb7;
break; //不要使用, 不然会跳循环。程序结束。
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x0c;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
b+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(b==3){
PORTA=0x20;PORTC=0x0d;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x24;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
c+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(c==3){
PORTA=0x20;PORTC=0x25;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0xb0;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
d+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(d==3){
PORTA=0x20;PORTC=0xb1;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x60;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
e+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(e==3){
PORTA=0x20;PORTC=0x61;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x40;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
f+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(f==3){
PORTA=0x20;PORTC=0x41;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x36;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
g+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(g==3){
PORTA=0x20;PORTC=0x37;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x00;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
h+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(h==3){
PORTA=0x20;PORTC=0x01;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
PORTC=0x20;PORTA=0x01;
__delay_ms(100);__delay_ms(100);
if(RB4==0){
i+=1;j+=1;
__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);__delay_ms(100);
if(i==3){
PORTA=0x20;PORTC=0x21;
break;
}
if(j==3){
PORTC=0xfe;PORTA=0x00;
break;
}
}
}
}
}
}
// 按键使用break,,你就一层while会直接结束。显示小数点是跟你的赋值有关要连硬件调试下参数。
修改后的
#include <pich>
#define _XTAL_FREQ 4000000
__CONFIG(INTIO & WDTDIS & PWRTDIS& MCLRDIS & UNPROTECT & BORDIS & IESODIS & FCMDIS);
void delu(int i)
{
while(i--)
__delay_ms(100);
}
void main(void){
unsigned char flg=1; //去掉break,而增加的 是否进入循环的标志。
ANSEL =0x00;
ANSELH=0x00;
ADCON0=0x00;
inta=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
if(RB5==0){
TRISA =0x00;
TRISB =0x30;
TRISC =0x00;
while(1){
//打开flg 的条件也要增加上
if(RB4==0)flg=1;
if(RB4==1&&flg==1){ PORTC=0xb6;PORTA=0x01;delu(2); //
if(RB4==0){ a+=1;j+=1; delu(5);
if(a==3) { PORTA=0x20;PORTC=0xb7; flg=0; }
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0; }
}
PORTC=0x0c;PORTA=0x01;delu(2); //
if(RB4==0){ b+=1;j+=1; delu(5);
if(b==3) { PORTA=0x20;PORTC=0x0d; flg=0; }
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0; }
}
PORTC=0x24;PORTA=0x01;delu(2); //
if(RB4==0){ c+=1;j+=1; delu(5);
if(c==3) { PORTA=0x20;PORTC=0x25; flg=0;}
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0;}
}
PORTC=0xb0;PORTA=0x01;delu(2); //
if(RB4==0){ d+=1;j+=1;delu(5);
if(d==3) { PORTA=0x20;PORTC=0xb1; flg=0;}
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0;}
}
PORTC=0x60;PORTA=0x01;delu(2); //
if(RB4==0){ e+=1;j+=1; delu(5);
if(e==3) { PORTA=0x20;PORTC=0x61; flg=0; }
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0;}
}
PORTC=0x40;PORTA=0x01;delu(2); //
if(RB4==0){ f+=1;j+=1; delu(5);
if(f==3) { PORTA=0x20;PORTC=0x41; flg=0; }
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0; }
}
PORTC=0x36;PORTA=0x01;delu(2); //
if(RB4==0){ g+=1;j+=1;delu(5);
if(g==3){ PORTA=0x20;PORTC=0x37; flg=0;}
if(j==3){ PORTC=0xfe;PORTA=0x00; flg=0;}
}
PORTC=0x00;PORTA=0x01;delu(2); //
if(RB4==0){ h+=1;j+=1;delu(5);
if(h==3) { PORTA=0x20;PORTC=0x01; flg=0;}
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0;}
}
PORTC=0x20;PORTA=0x01;delu(2); //
if(RB4==0) { i+=1;j+=1;delu(5);
if(i==3) { PORTA=0x20;PORTC=0x21; flg=0;}
if(j==3) { PORTC=0xfe;PORTA=0x00; flg=0;}
}
}
}
}
}
//meiyou
以上就是关于大神,如何用access窗体实现窗体里数据自动滚动,就是100条数据,从一显示到100再跳会1全部的内容,包括:大神,如何用access窗体实现窗体里数据自动滚动,就是100条数据,从一显示到100再跳会1、at89c51单片机驱动8个数码管滚动显示数字,要求8个数码管同时显示。我看到的是8个数码管全灭!!!、请教12864(ST7920)液晶滚动显示的程序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)