用C语言编写程序使一个一维数组内的数从大到小排列

如题所述

#include<stdio.h>
#include<algorithm>
using namespace std;
#define maxn 1000
int a[maxn];
bool cmp ( int a, int b ) {
return a > b;
}int main()
{
int i, n;
printf ( "请输入要排序的元素个数:" );
scanf ( "%d", &n );
printf ( "请依次输入%d个数:", n );
for ( i = 0; i < n; i++ )
scanf ( "%d", &a[i] );
sort ( a, a + n, cmp );
for ( i = 0; i < n; i++ )
printf ( "%3d", a[i] );
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-12
int intTemp; int[] intArray = new int[20]; Random ran = new Random(); for (int i = 0; i < intArray.Length; i++) { int j = ran.Next(1, 1000); intArray[i] = j; } for (int i = 0; i < intArray.Length; i++) { for (int j = 0; j < intArray.Length; j++) { if (intArray[i] > intArray[j]) { intTemp = intArray[i]; intArray[i] = intArray[j]; intArray[j] = intTemp; } } } foreach (int i in intArray) { Console.WriteLine(i); }本回答被网友采纳

用C语言编写程序使一个一维数组内的数从大到小排列
using namespace std;define maxn 1000 int a[maxn];bool cmp ( int a, int b ) { return a > b;}int main(){ int i, n;printf ( "请输入要排序的元素个数:" );scanf ( "%d", &n );printf ( "请依次输入%d个数:", n );for ( i = 0; i < n; i++ )scanf ( "...

C语言用一个for循环对一维数组进行从大到小排序
printf("%d ", b[i - 1]);return 0;}

c语言 定义一个函数,将一个一维数组中数据从小到大排序
void sortarray(int *a,int n) { int i,j,k;for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]>a[j] ) {k=a[i];a[i]=a[j];a[j]=k;} } void main() { int a[N],i;for ( i=0;i<N;i++ ) scanf("%d",&a[i]);for ( i=0;i<N;i+...

用C语言编写函数,功能是可以实现一维数组的从小到大的排序,数组长度为...
a[i+1]=temp; } } }int main(){ int a[8]={8,7,6,5,4,3,2,1}; func(a); for(int i=0;i<8;i++) { printf("%d ",a[i]); } return 0;}func就是功能函数实现数组a[8]的排序。

用C语言对一维数组排序,并输出原来的位置
h>#include<string.h>#define N 5int main(){ int a[N],b[N],c[N],i,j,temp; for(i=0;i<N;i++){\/\/输入数组,并用b保存数组a的值 scanf("%d",&a[i]); b[i]=a[i]; } for(i=0;i<N-1;i++)\/\/对a从大到小冒泡排序 for(j=0;j<N-i-1;j...

用C语言对一维数组排序,并输出原来的位置
include<stdio.h>#include<string.h>#define N 5int main(){int a[N],b[N],c[N],i,j,temp;for(i=0;i<N;i++){\/\/输入数组,并用b保存数组a的值 scanf("%d",&a[i]);b[i]=a[i];}for(i=0;i<N-1;i++)\/\/对a从大到小冒泡排序 for(j=0;j<N-i-1;j++)if(a[j]<...

用C语言编一个程序,把一个一维数组中最大的数和第一个数调换,最小的...
int i, arr[N] = {21, 3, 100, 14, 33, 2, 99, 100, -5, 70};\/\/i为循环变量 int max = arr[0], min = arr[0], k, tmp;\/*max存储最大数字,min存储最小数字,k存储最大数字或者最小数字下标,tmp做临时变量*\/ for( i = 0; i < N; i ++ )printf("%d ", arr[i...

C语言一维数组编程:随机产生10个100~200之间的随机整数,然后按照从大...
N (10)int main(void){int a[N],i,j,t;srand(time(NULL));for(i=0;i<N;++i)a[i]=rand()%101+100;for(i=0;i<N;++i){for(j=0;j<N-i-1;++j){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<N;++i)printf("%d ",a[i])...

用C语言如何将一个一维数组中的元素随机排序
include include include intmain(){ inti,j,n,k,t,a[100];srand((unsigned)time(NULL));

用C语言如何使用函数调用来做一维数组排序?谢谢了
\/\/ 交换顺序表L中子序列L.r[low..high]的记录,使枢轴记录到位,\/\/ 并返回其所在位置,此时,在它之前(后)的记录均不大(小)于它 L[0] = L[low];while (low < high) { while (low < high && L[high] >= L[0]) --high;L[low] = L[high];while (low < high && L[low...

相似回答