A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邢凯 中级黑马   /  2014-7-31 12:59  /  1981 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邢凯 于 2014-7-31 15:18 编辑

static void Main(string[] args)
        {
            int[] num = new int[6];
            {
                for (int i = 1; i <= 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i);
                    num = int.Parse(Console.ReadLine());
                }
            }
        }

        #region 冒泡排序
        public static void Sort(int[] num)
        {
            int i, j;  // 循环变量
            int temp;  // 临时变量
            for (i = 0; i < num.Length - 1; i++)
            {
                for (j = 0; j < num.Length - 1 - i; j++)
                {
                    if (num[j] > num[j + 1])
                    {
                        // 交换元素
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
                for (i = 1; i < num.Length; i++)
                {
                    Console.WriteLine(num[1]);
                }

            }
            Console.ReadKey();

        }
        #endregion
        这个是我的代码,我想用户自己输入一个数组,然后进行冒泡排序,我不知道哪里出问题了,求大神,大哥大姐们指导指导啊

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

17 个回复

倒序浏览
for (i = 1; i < num.Length; i++)
                {
                    Console.WriteLine(num[i]);
                }
  上面我写的这里 最后一个这里 有点写错
回复 使用道具 举报
//------------------------------------------------------------------------------------------------//
*/
void Bubble_Sort(SeqList<int> sqList)
{
       int tmp;
       for(int i=0;i<sqList.Last;++i)
       {
               for(int j=sqList.Last-1;j>=i;--j)
               {
                     if(sqList[j+1]<sqList[j])
                    {
                           tmp=sqList[j+1];
                           sqList[j+1] = sqList[j];
                           sqList[j] =tmp;
                   }
             }
      }
}

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
int[] num = new int[6];
for (int i = 1; i <= 5; i++)
一共for了5次循环,为啥要new6个数?

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
liinss 发表于 2014-7-31 13:38
int[] num = new int[6];
for (int i = 1; i

这个是一个小失误  :L
            int[] num = new int[5];
            {
                for (int i = 1; i <= 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i);
                    num = int.Parse(Console.ReadLine());
                }
  是这样
回复 使用道具 举报
            int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i+1);
                    num[i] = int.Parse(Console.ReadLine());
                }
            }
回复 使用道具 举报
邢凯 中级黑马 2014-7-31 13:51:42
7#
qsq0000hm 发表于 2014-7-31 13:44
int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)

我已经改成这样了,但是还是F5之后  就是提示我  输入这个FOR循环,输入完之后就没啦
现在代码是这样的

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

namespace 冒泡
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i+1);
                    num = int.Parse(Console.ReadLine());
                }
            }
           
        }

        #region 冒泡排序
        public static void Sort(int[] num)
        {
            int i, j;  // 循环变量
            int temp;  // 临时变量
            for (i = 0; i < num.Length - 1; i++)
            {
                for (j = 0; j < num.Length - 1 - i; j++)
                {
                    if (num[j] < num[j + 1])
                    {
                        // 交换元素
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
                for (i = 0; i < num.Length; i++)
                {
                    Console.WriteLine(num);
                }

            }
            Console.ReadKey();

        }
        #endregion
      
    }
}
回复 使用道具 举报
邢凯 中级黑马 2014-7-31 13:57:15
8#
我知道了,是我没调用这个方法。。。。我真是个小白:L:L:L:L
回复 使用道具 举报
邢凯 中级黑马 2014-7-31 14:06:05
9#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 冒泡
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i+1);
                    num[i] = Convert.ToInt32(Console.ReadLine());
                }
            }
            Sort(num);
           
        }

        #region 冒泡排序
        public static void Sort(int[] num)
        {
            int i, j;  // 循环变量
            int temp;  // 临时变量
            for (i = 0; i < num.Length - 1; i++)
            {
                for (j = 0; j < num.Length - 1 - i; j++)
                {
                    if (num[j] <num[j + 1])
                    {
                        // 交换元素
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
               
            }
            Console.Clear();
            for (i = 0; i < num.Length; i++)
            {
                Console.WriteLine(num[i]);
            }

            Console.ReadKey();

        }
        #endregion
      
    }
}
这个是我最后改成了,运行没出错,但是各位大哥大姐,大神们,帮我看看还有没有小问题

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
邢凯 发表于 2014-7-31 14:06
using System;
using System.Collections.Generic;
using System.Linq;

既然将冒泡排序封装在一个方法里,方法里就不要输出了。至于是否输出应该写在主函数中,而不是方法中,方法中只要实现排序就可以了。
回复 使用道具 举报
路过  楼主 写代码一定要细心。
回复 使用道具 举报
rende1991 发表于 2014-7-31 14:37
路过  楼主 写代码一定要细心。

谢谢,我下次会注意的,我想问下  为什么我的技术分一直都是1啊:'(
回复 使用道具 举报
qsq0000hm 发表于 2014-7-31 14:36
既然将冒泡排序封装在一个方法里,方法里就不要输出了。至于是否输出应该写在主函数中,而不是方法中,方 ...

谢谢,这个是我大意了,下次一定会注意的
回复 使用道具 举报
int[] num = new int[5];
这句代码后面的大括号是干什么用的?
回复 使用道具 举报
邢凯 发表于 2014-7-31 14:58
谢谢,我下次会注意的,我想问下  为什么我的技术分一直都是1啊

你问的问题  有人给你回复了后,你在在编辑那里设置提交结束,老师会给你打分的,还有你回答别人问的问题的时候,老师也会给你分的,黑马币也可以兑换的。
回复 使用道具 举报
邢凯 发表于 2014-7-31 13:57
我知道了,是我没调用这个方法。。。。我真是个小白

没事,要有信心,写的多了就好了
回复 使用道具 举报
{:3_50:}{:3_50:}{:3_50:}{:3_50:}{:3_50:}{:3_50:}
回复 使用道具 举报
哥们你写的是c语言的冒泡吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马