创建一个数组,然后通过键盘输入,读取数组的值,然后排序,
namespace 排序
{
class Order
{
public static void Main()
{
int i, j, k, m;
int[] que = new int[10];
Console.WriteLine("请输入10个数:");
for (i = 1; i <= 10; i++)
{
Console.Write("第{0}个数:", i);
que[i] = Int32.Parse(Console.ReadLine());
}
for (i=0;i<=9;i++)
{
k=que[i];
for(j=i+1;j<=9;j++)
{
if(que[j]<k)
{
m=que[i];
que[i]=que[j];
que[j]=m;
}
k = que[i];
}
}
Console.WriteLine("从小到大的顺序为:");
for(i=0;i<=8;i++)
{
Console .Write ("{0} ",que[i]);
}
Console .WriteLine ("{0}",que[9]);
}
}
}之后呢,不能读取数组,我刚学,暂时找不到原因,希望大家指点我下应该是这里有问题吧:
for (i = 1; i <= 10; i++)
{
Console.Write("第{0}个数:", i);
que[i] = Int32.Parse(Console.ReadLine());
}
namespace 排序
{
class Order
{
public static void Main()
{
int i, j, k, m;
int[] que = new int[10];
Console.WriteLine("请输入10个数:");
for (i = 1; i <= 10; i++)
{
Console.Write("第{0}个数:", i);
que[i] = Int32.Parse(Console.ReadLine());
}
for (i=0;i<=9;i++)
{
k=que[i];
for(j=i+1;j<=9;j++)
{
if(que[j]<k)
{
m=que[i];
que[i]=que[j];
que[j]=m;
}
k = que[i];
}
}
Console.WriteLine("从小到大的顺序为:");
for(i=0;i<=8;i++)
{
Console .Write ("{0} ",que[i]);
}
Console .WriteLine ("{0}",que[9]);
}
}
}之后呢,不能读取数组,我刚学,暂时找不到原因,希望大家指点我下应该是这里有问题吧:
for (i = 1; i <= 10; i++)
{
Console.Write("第{0}个数:", i);
que[i] = Int32.Parse(Console.ReadLine());
}
Console.WriteLine(i);相信你应该知道如何实现了吧?
{
Console.Write("第{0}个数:", i);
que[i] = Int32.Parse(Console.ReadLine())
}你i从1开始,输入时候就会抛数组越界异常的啊,编译不过去啊
正确的如下
public static void Main()
{
int i, j, k, m;
int[] que = new int[10];
Console.WriteLine("请输入10个数:");
for (i = 0; i <= que.Length-1; i++)
{
Console.Write("第{0}个数:", i+1);
que[i] = Int32.Parse(Console.ReadLine());
}
for (i=0;i<=9;i++)
{
k=que[i];
for(j=i+1;j<=9;j++)
{
if(que[j]<k)
{
m=que[i];
que[i]=que[j];
que[j]=m;
}
k = que[i];
}
}
Console.WriteLine("从小到大的顺序为:");
for(i=0;i<=8;i++)
{
Console .Write ("{0} ",que[i]);
}
Console .WriteLine ("{0}",que[9]);
}