标题:新手请教!
只看楼主
alice_baba
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-5-27
 问题点数:0 回复次数:4 
新手请教!
昨天照书上打了一段代码 发现5的倍数是找不到的,哪位大虾能告诉我为什么? 以及如何把该数组打印出了来,谢谢!



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Myc11
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 200, y = 4;
            int[,] myArray = new int[x, y];
            for (int i = 0; i < x; i++)
                for (int j = 0; j < y; j++)
                    myArray[i, j] = ++i;
            System.Console.WriteLine("请输入你要查找的数: ");
           
            String s = System.Console.ReadLine();
            int myNum = int.Parse(s);
            for (int i = 0; i < x; i++)
                for (int j = 0; j < y; j++)
                    if (myArray[i, j] == myNum)
                        goto found;
            Console.WriteLine("没有发现数字{0}", myNum);
            goto finish;
        found:
            Console.WriteLine("发现了你要查找的数字" + myNum);
        finish: Console.WriteLine("查找完毕!");
        }
    }
    }
搜索更多相关主题的帖子: 如何 
2010-05-27 09:45
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
得分:0 
我来帮你解答吧。

进入内层for循环,i=0,j=0
给myArray[i, j]赋值的时候,执行了++i,所以i=1;也就是myArray[0, 0]=1;
接着往下,继续执行内层for循环,j++,
给myArray[i, j]赋值的时候,执行了++i,所以i=2;也就是myArray[0, 1]=2;
往下就是myArray[0, 2]=3;myArray[0, 3]=4
这时候i=4,j=3,j++之后j=4,跳出内层循环,到外层的时候i++,i=5。
再次给myArray[i, j]赋值的时候,执行了++i,所以i=6,myArray[5, 0]=6;

所以5的倍数不会存入二维数组

转眼就从编程菜鸟混成了半灌水
2010-05-28 16:19
alice_baba
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-5-27
得分:0 
回复 2楼 乖老鼠
谢谢! 讲的十分清楚!
2010-05-31 10:20
云飞扬Candy
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2010-5-27
得分:0 
我也遇到过这个问题,谢谢答案啊!
2010-06-01 11:21
linruihan
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2010-4-10
得分:0 
学习了,认识这个地方真不错
2010-06-01 11:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-308327-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.239920 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved