用一个循环语句输出九九乘法表

// 7、用一个循环语句输出九九乘法表。//
for (int i = 1, j = 1; j <= 9; i++)
{
System.out.printf("%d*%d=" + i * j + " ", i, j);
if (i == j) {
i = 0;
j++;
System.out.println();
}
}
如题一个循环语句输出九九乘法表中,在i=0后,再次进入循环的时候i不是应该为0么?然后进入判断语句,符合条件,然后syso,不应该输出的是1*2啊?难道先运行的自增?求解释
for循环的运算顺序不是应该先初始化,然后进行判断,再进入循环语句体,最后在进入自增减么?

for循环的时候,是先判断条件,符合条件,执行语句,结束之后在循环,知道条件不符合时停止,可以参考下面的代码:

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.

扩展资料:

for循环语法

1、语句最简形式为:

for( ; ; )

2、一般形式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。

参考资料来源:百度百科-for循环

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-05
//用while实现:
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.
第2个回答  推荐于2017-09-14
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
不太懂LZ的意思 如果只为99乘法表 这样不是简洁明了些吗追问

就想用一个循环做乘法表,我的意思是在上面的循环的第一环中i被赋值成0了吧,然后那个时候j是=2的。第2次进入循环中,应该进行判断吧?然后再syso吧?最后再自增吧?如果这个理论是对的话,那么syso的结果就应该是0*2了,可是计算机却是1*2这说明计算机先自增了,就这地方不明白

追答

在i被赋值0后 if结束 i是要++的 它不就又变为1了么

本回答被提问者采纳
第3个回答  2019-03-04
for(int
i=1;i<=9;i++){
for(int
j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
不太懂LZ的意思
如果只为99乘法表
这样不是简洁明了些吗
第4个回答  2012-08-05
for循环的时候,是先判断条件,符合条件,执行语句,结束之后在循环,知道条件不符合时停止追问

谢谢你了,我太马虎了,不好意思

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网