static void Main(string[] args)
{
double k, t;
int n;
t = 1;
for (n = 1; n <= 10; n++)
{
for (k = 1; k <= 5; k++)
t = t + k;
}
Console.WriteLine(t);
}以上我的理解是:这个进行循环,进行到内部for语句时,将内部for语句一直循环完成到k<=5后再进行外部的循环也就是先将内部的t=t+k值算出等于16,而后再进行外部的循环!可是,我的理解是错误的,答案,和我理解的不一样还请哪位朋友能够详细解答一下,中间在网上问过一个朋友,下边是他给我的解答,我不太明白:程序主体在
for (n = 1; n <= 10; n++)
{
for (k = 1; k <= 5; k++)
t = t + k;//这部分是累加,相当于计算t+1+2+3+4+5=t+15;
} //这部分是重复,由于n并没有参与到累加中,它只是限定次数的量,限定内循环的累加为10次,也就是给t加上10个15.
所以总和是t+15*10 = 151。
{
double k, t;
int n;
t = 1;
for (n = 1; n <= 10; n++)
{
for (k = 1; k <= 5; k++)
t = t + k;
}
Console.WriteLine(t);
}以上我的理解是:这个进行循环,进行到内部for语句时,将内部for语句一直循环完成到k<=5后再进行外部的循环也就是先将内部的t=t+k值算出等于16,而后再进行外部的循环!可是,我的理解是错误的,答案,和我理解的不一样还请哪位朋友能够详细解答一下,中间在网上问过一个朋友,下边是他给我的解答,我不太明白:程序主体在
for (n = 1; n <= 10; n++)
{
for (k = 1; k <= 5; k++)
t = t + k;//这部分是累加,相当于计算t+1+2+3+4+5=t+15;
} //这部分是重复,由于n并没有参与到累加中,它只是限定次数的量,限定内循环的累加为10次,也就是给t加上10个15.
所以总和是t+15*10 = 151。
} //这部分是重复,由于n并没有参与到累加中,它只是限定次数的量,限定内循环的累加为10次,也就是给t加上10个15.
所以总和是t+15*10 = 151。外部循环的累加10次,为何不是10*(t+15)呢?而是要t=t+10*15 ?这点很是不明白!
{
double k, t;
int n;
t = 1;
for (n = 1; n <= 10; n++)
{
for (k = 1; k <= 5; k++)
t = t + k;
}
Console.WriteLine(t);
}
Console.WriteLine(t); 是两个循环结束了才输出
for (k = 1; k <= 5; k++)
t = t + k;
是进行这里的循环 最里面的循环最先进行
让t+=k就是t=1+1第2次是 t=2+2.........
然后再进行外面的for (n = 1; n <= 10; n++) 的循环
最后获得t
2、n=1,k=2:t=2+2=4
3、n=1,k=3:t=4+3=7
4、n=1,k=4:t=7+4=11
5、n=1,k=5:t=11+5=16
6、n=2,k=1:t=16+1=17
7、n=2,k=2:t=17+2=19
8、n=2,k=3:t=19+3=22
9、n=2,k=4:t=22+4=26
10、n=2,k=5:t=26+5=31
11、n=3,k=1:t=31+1=32
......
依此内推,自己算下去就晓得了