标题:各位达人,小弟刚刚开始学习C#,从未接触过编程,请教个问题,困扰我好几天 ...
只看楼主
luonin23
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-8-1
结帖率:100%
已结贴  问题点数:20 回复次数:7 
各位达人,小弟刚刚开始学习C#,从未接触过编程,请教个问题,困扰我好几天了
各位:
    小弟我刚刚学习c#编程,但是从来都未接触过编程的编写
    网上视频下来看了,但是对于类下面的方法,总是不会写,听的时候觉得听懂了,但是自己一做,就不知道重哪里开始了。
    具体是这样的,比如一个冒泡排序法:
    我想了几天,老是想不通。
    我就直接从main函数下写出来了(老师讲的时候确实听懂了,但是一下来就不知道怎么写了)
    还有,这下面的语句是固定格式吗?大家是硬背下来的,还是怎么样理解的?
    冒泡算法到现在我明白是2位数换位比较,每次判定小的往前移一位,但是让我自己想老觉得会短路?这是为什么?
    int[] good = new int[] { 48, 5, 6, 34, 35, 54, 1, 3, 7, 9, 65, 32, 84, 50, 98, 16, 765, 247, 958, 52, 47, 97, 39 };
            int a, b;//这个为什么要写在这里是声明还是定义?
            a = 1;//这个为什么要付这个值?意义何在?
            while (a < good.Length)//这个知道,是满足条件往下走,否则结束
            {
                for (int i = 0; i < good.Length - a; i++)//中间为什么要-a,而不是-1呢
                {
                    if (good[i] > good[i + 1])//这句也知道意思
                    {
                        b = good[i + 1];//这句能不能换成   b=good[i];
                        good[i + 1] = good[i];//           good[i]=good[i+1];
                        good[i] = b;//                     good[i+1]=b;
                    }
                }
                a++;    //这里的A++是什么意思?和上面的-a和a=1有什么关系?
            }
            for (int i = 0; i < good.Length; i++)//这是判断打印的条件吧,就是一排一位数
            {
                Console.WriteLine("{0}", good[i]);//这个0是什么意思,为什么要这样写?
            }
        }

谢谢大家解答我的问题,非常感谢,上面的方法和其他的方法写法会是一样吗?我是说格式,具体点的格式应该是怎样的呢?对于方法的具体步骤,我非常的混乱现在
搜索更多相关主题的帖子: 老师 
2011-08-01 22:07
fily1314
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1190
注 册:2007-7-18
得分:7 
int a, b;//这个为什么要写在这里是声明还是定义?--------声明和定义不都是一个东西嘛
            a = 1;//这个为什么要付这个值?意义何在?   --------给循环变量赋初值啊
            while (a < good.Length)//这个知道,是满足条件往下走,否则结束
            {
                for (int i = 0; i < good.Length - a; i++)//中间为什么要-a,而不是-1呢------------因为每循环完一次,就有一个数是排好序的了,这个数就不需要再排序了
                {
                    if (good[i] > good[i + 1])//这句也知道意思
                    {
                        b = good[i + 1];//这句能不能换成   b=good[i];--------------------可以换,只要两个数能交换过来就行了
                        good[i + 1] = good[i];//           good[i]=good[i+1];
                        good[i] = b;//                     good[i+1]=b;
                    }
                }
                a++;    //这里的A++是什么意思?和上面的-a和a=1有什么关系?---------------++是一个一元运算符,使得变量加1,看不懂可以用a=a+1代替
            }
            for (int i = 0; i < good.Length; i++)//这是判断打印的条件吧,就是一排一位数
            {
                Console.WriteLine("{0}", good[i]);//这个0是什么意思,为什么要这样写? -------------"{0}"是一种格式化的字符串,里面的{0}标识用接下来的第一个参数值替换这里的内容
            }
2011-08-01 22:26
luonin23
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-8-1
得分:0 
这个方法的过程,是不是需要死记硬背啊?我老是记不住,还有就是代码理解了也记不住,补知道为什么
2011-08-01 22:39
jalonlovesja
Rank: 5Rank: 5
来 自:湖南邵阳
等 级:职业侠客
帖 子:292
专家分:371
注 册:2008-2-19
得分:7 
明白排序的原理就行了,代码就不要背了。

小弟,身高1.60米,农村户口,小学文化,家有农田1亩.
2011-08-02 08:28
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
得分:7 
int[] good = new int[] { 48, 5, 6, 34, 35, 54, 1, 3, 7, 9, 65, 32, 84, 50, 98, 16, 765, 247, 958, 52, 47, 97, 39 };
            int a, b;//这个为什么要写在这里是声明还是定义? --------这里是指a和b都是整形,因为下面要用到它们。
            a = 1;//这个为什么要付这个值?意义何在? ---------------这里a是对循环次数的控制,从一开始,一直到小于good.Length
            while (a < good.Length)//这个知道,是满足条件往下走,否则结束
            {
                for (int i = 0; i < good.Length - a; i++)//中间为什么要-a,而不是-1呢 --------good.Length 的值是不变的,如果减一的话,那就是死循环了。
                {
                    if (good[i] > good[i + 1])//这句也知道意思
                    {
                        b = good[i + 1];//这句能不能换成   b=good[i]; --------这样是可以的,就像fily1314说的,只要能实现交换就行。
                        good[i + 1] = good[i];//           good[i]=good[i+1];
                        good[i] = b;//                     good[i+1]=b;
                    }
                }
                a++;    //这里的A++是什么意思?和上面的-a和a=1有什么关系?--------对应与 for (int i = 0; i < good.Length - a; i++)的中间,a每加一次,循环就少一次
            }
            for (int i = 0; i < good.Length; i++)//这是判断打印的条件吧,就是一排一位数 --------是判断是否已经把最上面的一行数字输出完毕
            {
                Console.WriteLine("{0}", good[i]);//这个0是什么意思,为什么要这样写? --------{0}对应输出一个你想要输出的数,如果要同时输出两个数的话就应该是"{0}","{1}"了

        
2011-08-02 10:44
一氧化碳
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:132
专家分:335
注 册:2007-8-13
得分:0 
看了不太适合编程。。。
要是为应付考试的话,就背背吧。

2011-08-10 16:45
红袖满楼招
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-8-16
得分:0 
写代码要求的是能读懂代码说的是什么,而不是死记硬背,那样没什么用的!
2011-08-16 15:23
blueseanet
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-23
得分:0 
改行吧,没有学编程的先资条件,硬学下去只会浪费时间。
2012-03-26 04:59



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




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

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