static void Main(string[] args)
{
int totalNum = 0; int[] num = new int[5];
for (int i = 5; i > 0; i–)
{ num[i – 1] = i; }
for (int i = 0; i < num.Length; i += 2)
{ totalNum += num[i] + i; }
Console.WriteLine(totalNum);
Console.ReadKey();
}
解释:第二个for循环计算数组中下标为偶数的元素及其下标的总和,即(0+1)+(2+3)+(5+4),结果等于15
嗯,本人想问的是第一个为什么是0+1,假如说按照第二个for循环来算,第一次循环的时候,i=0,然后是看到了i+=2,最后第一次循环的i结果应该是2,那么应该是(3+2)啊,为什么是(0+1)呢?
{
int totalNum = 0; int[] num = new int[5];
for (int i = 5; i > 0; i–)
{ num[i – 1] = i; }
for (int i = 0; i < num.Length; i += 2)
{ totalNum += num[i] + i; }
Console.WriteLine(totalNum);
Console.ReadKey();
}
解释:第二个for循环计算数组中下标为偶数的元素及其下标的总和,即(0+1)+(2+3)+(5+4),结果等于15
嗯,本人想问的是第一个为什么是0+1,假如说按照第二个for循环来算,第一次循环的时候,i=0,然后是看到了i+=2,最后第一次循环的i结果应该是2,那么应该是(3+2)啊,为什么是(0+1)呢?
解决方案
20
using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int totalNum = 0; int[] num = new int[5]; for (int i = 5; i > 0; i--) { num[i - 1] = i; Console.Write("num[{0}]={1} ", i - 1, num[i - 1]); } Console.WriteLine(); for (int i = 0; i < num.Length; i += 2) { totalNum += num[i] + i; Console.Write("totalNum+={0}+{1}={2} ", num[i], i, totalNum); } Console.WriteLine(); Console.WriteLine(totalNum); Console.WriteLine("................按任意键结束"); Console.ReadKey(); } } }
聪明人,不应该过度浪费脑筋。应该把精力用来写出更清晰好用的测试程序上,而不要过度用脑容量去死记硬背。