用for循环输出九九乘法表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用for循环输出九九乘法表相关的知识,希望对你有一定的参考价值。
格式:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
……
急急急!要快,今晚以前! 用Free Pascal! sorry,我水平有限,希望只用for ,
从头写program
……
end.
填个空吧:
program f;
var
a,b,i:integer;
begin
for() to () do
for() to ()do
write((),‘*’,(),‘=‘());
end.
4楼基本上对了,
可是输出格式不对,
是:
1*1=1
2*1=2
2*2=4
3*1=3
……
int
i=1;
while(i<=9)//外层控制行
int
j=1;
while(j<=i)//控制每列
System.out.print(i+"+"+j+"="+(i*j)+"\t");
j++;
i++;
System.out.println();
//用do..while实现
int
k=1;
do
int
j=1;
do
j++;
System.out.print(k+"+"+j+"="+(k*j)+"\t");
while(j<k);
k++;
System.out.println();
while(k<10);
设a为被乘数,范围为1~9;b为乘数,范围为1~a;乘式为a*b=(a,b的乘积),则
a=1:
b=1~a
1*1=1
a=2:
b=1~a
2*1=2
2*2=4
a=3:
b=1~a
3*1=3
3*2=6
3*3=9
a=4:
b=1~a
4*1=4
4*2=8
4*3=13
4*4=16
:
:
a=9
b=1~a
9*1=9
9*2=18
…
9*9=81
⑴从上面分解的横行中看到共有9行,这里的“行”数变化与a的变化从1~9相同,可用a控制“行”的循环;
⑵每“行”里面相乘的次数与b的范围相关,由b控制每“行”里面的“内部”循环;
⑶内循环被包含在最里层,执行完每“行”的内部循环,就到下一“行”去执行新“行”里面的循环,每“行”都拥有形式相同的(
b=1~a
)内循环。
即每到一“行”都要执行该“行”的内循环。这里所指的“行”可以理解成抽象的行,不一定是实际上具体对应的行,可以是一个处理“块”。
Pascal程序:
Program
Exam37;
Var
a,b:
byte;
Begin
for
a:=1
to
9
do
外循环
begin
for
b:=1
to
a
do
内循环
write(a,’*
’,b,’=
’,a*b,’
’:3);
writeln
end;
Readln
End. 参考技术A var
i,j,k,m,n:int;
begin
m=0;n=0;
for j:=1 to 9 do
m:=m+1
for i:=1 to 9 do
n:=n+1
if i<=j then
writeln(m"*"n"="k);
end.
思路就是循环套循环,我还没有运行试一下,里边可能有语法错误 参考技术B #include<stdio.h>
int main()
for(int i=1;i<10;i++)
for(int j=1;j<=i;j++)
printf("%d*%d=%d",i,j,j*i);
printf("\n");
return 0;
参考技术C program f;
var
a,b,i:integer;
begin
for a=1 to 9 do
for b=1 to a do
write(a,‘*’,b,‘=‘,(a*b),' ');
writeln;
end. 参考技术D ...很简单的
#include<stdio.h>
main()
int i,j,result;
printf("\n");
for (i=1;i<10;i++)
for(j=1;j<=i;j++)
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
printf("\n");/*每一行后换行*/
参考资料:以前写的
以上是关于用for循环输出九九乘法表的主要内容,如果未能解决你的问题,请参考以下文章