...定义一个数组;使输入的数由大到小输出! 程序写的简单点,因为我...

发布网友 发布时间:2024-12-19 12:05

我来回答

4个回答

热心网友 时间:2024-12-19 14:42

--------选择排序最简单
--------

int[] grade = { 58, , 74, 15, 23, 85, 100, 14, 59, 98, 75, 12, 45, 65, 84, 96, 74, 16, 33, 94 };

int temp;
for (int i = 0; i < grade.Length-1 ; i++)
{
for (int j = i; j < grade.Length ; j++)
{
if (grade[j] < grade[i])
{
temp = grade[i];
grade[i] = grade[j];
grade[j] = temp;
}
}
}
foreach (int g in grade)
Console.Write(g + "\t");

热心网友 时间:2024-12-19 14:40

最简单的就是冒泡排序法。

public int[] sort(int[] dataArray)
{
int len = dataArray.Length;

for(int i=0;i<len-1;i++)
{
for(int j=i+1;j<len;j++)
{
if(dataArray[i]<dataArray[j])
{
Swap(ref dataArray[i],ref dataArray[j]);
}
}
}
return dataArray;
}

private void Swap(ref int a,ref int b)
{
int temp = a;
a = b;
b = temp;
}

热心网友 时间:2024-12-19 14:36

Console.WriteLine("请输入您要排序的数目:");
int i=Convert.ToInt32(Console.ReadLine() );
int[] arr=new int[i];
for (int j = 0; j < i; j++)
{
arr[j] =Convert.ToInt32( Console.ReadLine());
}
for (int q = 0; q < i; q++)
{
for (int p = q + 1; p < i; p++)
{
if (arr[q] < arr[p])
{
int tem = arr[q];
arr[q] = arr[p];
arr[p] = tem;
}
}
}
for (int j = 0; j< i; j++)
{
Console.WriteLine(arr[j]);
}
Console.ReadLine();
控制台应用程序 ,你看看吧,希望对你有帮助

热心网友 时间:2024-12-19 14:40

C#不会,C就会一点,下面是C的代码,在vc++ 6.0内编译通过。、
可以自定义数据长度。
你自已看着改改。
经典的排列数组就是泡冒算法

泡冒算法又不复杂,自已研究下》??????

//对任意长度nums[]重排列.VC++ 6.0

#include "stdio.h"
#include "string.h"
#define count(a) sizeof(a)/sizeof(a[0])

void reconstruction(int nums[],int count);

void main()
{

int nums[]={10000,999,100,10,545436};

reconstruction(nums,count(nums));
for(int i=0;i<count(nums);i++)
{
printf("%d\n",nums[i]);
}
}

void reconstruction(int *p,int count)
{
int temp;
for(int i=0;i<count;i++)
{
for(int j=0;j<count;j++)
{
if(*(p+i) < *(p+j))
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com