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。

解决方案 »

  1.   

    朋友给我的解答我不明白的是:t = t + k;//这部分是累加,相当于计算t+1+2+3+4+5=t+15;  
    } //这部分是重复,由于n并没有参与到累加中,它只是限定次数的量,限定内循环的累加为10次,也就是给t加上10个15.  
    所以总和是t+15*10 = 151。外部循环的累加10次,为何不是10*(t+15)呢?而是要t=t+10*15 ?这点很是不明白!
      

  2.   

        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); 
            } 
    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
      

  3.   

    1、n=1,k=1:t=1+1=2
    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
    ......
    依此内推,自己算下去就晓得了