C语言,输入一组数进行排序,由大到小排列,用自定义函数实现 c语言编程: 将一组数按从大到小的顺序排序

C\u8bed\u8a00\uff0c\u8f93\u5165\u4e00\u7ec4\u6570\u8fdb\u884c\u6392\u5e8f\uff0c\u7531\u5927\u5230\u5c0f

#include
int main()
{int a[100],n,i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;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]);
printf("\n");
return 0;
}

#include
main()
{
int x;
printf("\u8bf7\u8f93\u5165\u8981\u6392\u5e8f\u6570\u5b57\u4e2a\u6570:");
scanf("%d",&x);
int i,j,k,a,b,num[x];
printf("\u8f93\u5165\u6570\u636e:");
for(i=0;i<x;i++)
scanf("%d",&num[i]);
for(j=0;j<x;j++)
{
for(k=j+1;k<x;k++)
if(num[k]>num[j])
{
a=num[j];
num[j]=num[k];
num[k]=a;
}
}
for(b=0;b<x;b++)
printf("%d ",num[b]);
return 0;
}

\u6269\u5c55\u8d44\u6599\uff1ainclude\u7528\u6cd5\uff1a
#include\u547d\u4ee4\u9884\u5904\u7406\u547d\u4ee4\u7684\u4e00\u79cd\uff0c\u9884\u5904\u7406\u547d\u4ee4\u53ef\u4ee5\u5c06\u522b\u7684\u6e90\u4ee3\u7801\u5185\u5bb9\u63d2\u5165\u5230\u6240\u6307\u5b9a\u7684\u4f4d\u7f6e\uff1b\u53ef\u4ee5\u6807\u8bc6\u51fa\u53ea\u6709\u5728\u7279\u5b9a\u6761\u4ef6\u4e0b\u624d\u4f1a\u88ab\u7f16\u8bd1\u7684\u67d0\u4e00\u6bb5\u7a0b\u5e8f\u4ee3\u7801\uff1b\u53ef\u4ee5\u5b9a\u4e49\u7c7b\u4f3c\u6807\u8bc6\u7b26\u529f\u80fd\u7684\u5b8f\uff0c\u5728\u7f16\u8bd1\u65f6\uff0c\u9884\u5904\u7406\u5668\u4f1a\u7528\u522b\u7684\u6587\u672c\u53d6\u4ee3\u8be5\u5b8f\u3002
\u63d2\u5165\u5934\u6587\u4ef6\u7684\u5185\u5bb9
#include\u547d\u4ee4\u544a\u8bc9\u9884\u5904\u7406\u5668\u5c06\u6307\u5b9a\u5934\u6587\u4ef6\u7684\u5185\u5bb9\u63d2\u5165\u5230\u9884\u5904\u7406\u5668\u547d\u4ee4\u7684\u76f8\u5e94\u4f4d\u7f6e\u3002\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u4ee5\u6307\u5b9a\u63d2\u5165\u5934\u6587\u4ef6\uff1a
1\u3001#include
2\u3001#include"\u6587\u4ef6\u540d"
\u5982\u679c\u9700\u8981\u5305\u542b\u6807\u51c6\u5e93\u5934\u6587\u4ef6\u6216\u8005\u5b9e\u73b0\u7248\u672c\u6240\u63d0\u4f9b\u7684\u5934\u6587\u4ef6\uff0c\u5e94\u8be5\u4f7f\u7528\u7b2c\u4e00\u79cd\u683c\u5f0f\u3002\u5982\u4e0b\u4f8b\u6240\u793a\uff1a
#include<math.h>//\u4e00\u4e9b\u6570\u5b66\u51fd\u6570\u7684\u539f\u578b\uff0c\u4ee5\u53ca\u76f8\u5173\u7684\u7c7b\u578b\u548c\u5b8f
\u5982\u679c\u9700\u8981\u5305\u542b\u9488\u5bf9\u7a0b\u5e8f\u6240\u5f00\u53d1\u7684\u6e90\u6587\u4ef6\uff0c\u5219\u5e94\u8be5\u4f7f\u7528\u7b2c\u4e8c\u79cd\u683c\u5f0f\u3002
\u91c7\u7528#include\u547d\u4ee4\u6240\u63d2\u5165\u7684\u6587\u4ef6\uff0c\u901a\u5e38\u6587\u4ef6\u6269\u5c55\u540d\u662f.h\uff0c\u6587\u4ef6\u5305\u62ec\u51fd\u6570\u539f\u578b\u3001\u5b8f\u5b9a\u4e49\u548c\u7c7b\u578b\u5b9a\u4e49\u3002\u53ea\u8981\u4f7f\u7528#include\u547d\u4ee4\uff0c\u8fd9\u4e9b\u5b9a\u4e49\u5c31\u53ef\u88ab\u4efb\u4f55\u6e90\u6587\u4ef6\u4f7f\u7528\u3002

给你一个直接插入排序
#include "stdio.h"
void InsertSort(int a[], int left, int right) {//对数组a从下标为left到right区域进行直接插入排序
int i, j, tmp;
for(i = left + 1; i <= right; i++) {
for(j = i - 1, tmp = a[i]; j >= left && tmp > a[j]; j++)
a[j + 1] = a[j];
a[j + 1] = tmp;
}
}

void main( ) {
int i, n, a[100];
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
InsertSort(a, 0, n - 1);
printf("\n");
for(i = 0; i < n; i++) printf("%d\t", a[i]);
}

#include <stdio.h>

//冒泡排序
void bubble_sort(int *a,int n){ int i,j,temp; for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) { if(a[i]>a[i+1]) { temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } }}

//快速排序
void quick_sort(int a[],int left,int right){ int i = left; int j = right; int temp = a[left];
if(left >= right) return ; while(i != j) { while(a[j] >= temp && j>i) j--; if(j > i) a[i++] = a[j];
while(a[i] <= temp && j>i) i++; if(j > i) a[j--] = a[i]; } a[i] = temp; quick_sort(a,left,i-1); quick_sort(a,i+1,right);}//时间复杂度:O(nlgn)

//选择排序
void select_sort(int *a,int n){ register int i,j,min,t; for(i=0;i<n-1;i++) { min = i; //查找最小值 for(j=i+1;j<n;j++) if(a[min] > a[j]) min = j;
//交换 if(min != i) { t = a[min]; a[min] = a[i]; a[i] = t; } }}
//直接插入排序void InsertSort(int arr[] , int n) { for(int i=1;i<n;i++)//循环从第二个数组元素开始,因为arr[0]作为最初已排序部分 { int temp=arr[i];//temp标记为未排序第一个元素 int j=i-1; while (j>=0 && arr[j]>temp)/*将temp与已排序元素从大到小比较,寻找temp应插入的位置*/ { arr[j+1]=arr[j]; j--; } arr[j+1]=temp; } }



选择冒泡排序

  • C璇█,杈撳叆涓缁勬暟杩涜鎺掑簭,鐢澶у埌灏
    绛旓細include<stdio.h> int main(){int a[100],n,i,j,t;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;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 "stdio.h"void InsertSort(int a[], int left, int right) {//瀵规暟缁刟浠庝笅鏍囦负left鍒皉ight鍖哄煙杩涜鐩存帴鎻掑叆鎺掑簭 int i, j, tmp;for(i = left + 1; i <= right; i++) { for(j = i - 1, tmp = a[i]; j >= left && tmp > a[j]; j++)a[j + 1] = a[...
  • 濡備綍鐢c璇█杈撳叆10涓鏁板苟杩涜鎺掑簭?
    绛旓細1銆侀鍏堟墦寮缂栬緫杞欢锛屾柊寤轰竴涓c绋嬪簭绌烘枃浠讹紝寮曞叆鏍囧噯搴撳拰涓诲嚱鏁帮紝瀹氫箟涓涓猀uickSort鍑芥暟鐢ㄦ潵鎺掑簭锛涓嬮潰棣栧厛缂栧啓鎺掑簭鍑芥暟鐨锛2銆佹澶勭敤鍒板揩閫熸帓搴忔濇兂锛岄氳繃涓瓒熸帓搴忓皢瑕佹帓搴忕殑鏁版嵁鍒嗗壊鎴愮嫭绔嬬殑涓ら儴鍒嗭紝鍗宠繖閲岀敤i鍜宩涓や釜鍙橀噺鍒嗗壊鏁版嵁锛岀劧鍚庝竴閮ㄥ垎鐨勬墍鏈夋暟鎹兘姣斿彟澶栦竴閮ㄥ垎鐨勬墍鏈夋暟鎹兘瑕佸皬锛屾帴鐫瀵硅繖涓ら儴鍒...
  • c璇█缂栫▼: 灏涓缁勬暟鎸変粠澶у埌灏忕殑椤哄簭鎺掑簭
    绛旓細include <stdio.h> main(){ int x;printf("璇杈撳叆瑕鎺掑簭鏁板瓧涓暟:");scanf("%d",&x);int i,j,k,a,b,num[x];printf("杈撳叆鏁版嵁:");for(i=0;i<x;i++)scanf("%d",&num[i]);for(j=0;j<x;j++){ for(k=j+1;k<x;k++)if(num[k]>num[j]){ a=num[j];num[j]=num...
  • 鐢C璇█缂栫▼:浠庨敭鐩杈撳叆10涓鐢熺殑鎴愮哗,鐢楂樺埌浣鎺掑簭杈撳嚭鎴愮哗
    绛旓細cout << "杈撳叆10涓暟:";for (i = 0; i < 10; i++){ cout << "璇疯緭鍏ョ" << i+1 << "鍚嶅鐢熺殑鎴愮哗锛" << endl;cin >> s[i];} for (i = 0; i<10; i++){ for (j = 0; j<9 - i; j++)if (s[j]<s[j + 1]){ t = s[j + 1];s[j + 1] = s[...
  • C璇█缂栫▼棰,浠婚涓缁勬帓搴鏂规硶瀵规暟缁凙杩涜浠庡皬鍒板ぇ鎺掑垪,鏁扮粍A鐨鏁版嵁...
    绛旓細quickSort( a, j+1, r);} } int partition( int a[], int l, int r) { int pivot, i, j, t;pivot = a[l];i = l; j = r+1;while( 1){ do ++i; while( a[i] <= pivot && i <= r );do --j; while( a[j] > pivot );if( i >= j ) break;t = a[i...
  • C璇█缂栧啓涓涓鎺掑簭鍑芥暟(瀵逛竴缁存暟缁勬帓搴)骞鍦ㄤ富鍑芥暟涓皟鐢
    绛旓細浠ヤ笅鏄竴涓娇鐢C璇█缂栧啓涓缁存暟缁勬帓搴忓嚱鏁骞鍦ㄤ富鍑芥暟涓皟鐢ㄧ殑绀轰緥浠g爜锛岄噰鐢ㄧ殑鏄粠灏忓埌澶鎺掑簭鐨鏂瑰紡锛屽彲浠ユ牴鎹渶瑕杩涜淇敼锛歚``c include <stdio.h> // 鎺掑簭鍑芥暟锛屽弬鏁颁负寰呮帓搴忔暟缁勫拰鏁扮粍闀垮害 void sort(int arr[], int len) { int i, j, tmp;// 鍐掓场鎺掑簭 for (i = 0; i < len - 1...
  • C璇█:缂栫▼瀹炵幇浠庨敭鐩樹笂杈撳叆涓缁鏁版嵁,鐢ㄥ啋娉℃帓搴杩涜鎺掑簭杈撳嚭
    绛旓細鍐掓场娉曪細瀵10涓鏁扮敱澶у埌灏鎺掑簭 include<stdio.h> include<stdlib.h> main(){ int i,j,a[11],m;for(i=1;i<11;i++){ scanf("%d",&a[i]);} for(j=1;j<=10;j++){ for(i=1;i<11-j;i++){ if(a[i+1]>a[i]){ m=a[i+1];a[i+1]=a[i];a[i]=m;} } } f...
  • C璇█ 灏涓缁勬暟鎺掑簭,鍐嶆彃鍏ヤ竴涓暟,鍐嶆帓搴
    绛旓細include <stdio.h> main(){ int i,a[12],t,k,m;for(i=0;i<11;i++)a[i]=0;for(i=1;i<11;i++)scanf("%d",&a[i]);for(k=1;k<11;k++)for(i=k+1;i<11;i++)while(a[i-1]>a[i]){ t=a[i-1];a[i-1]=a[i];a[i]=t;} for(i=1;i<11;i++)printf(...
  • ...璇峰垎鍒敤鍐掓场娉曞拰閫夋嫨娉曞鏁扮粍杩涜鍗囧簭鎺掑垪(浠庡皬鍒板ぇ)
    绛旓細1銆佹柊寤轰竴涓163.php銆2銆杈撳叆php缃戦〉鐨勭粨鏋(<?php?>)銆3銆佸0鏄嶱HP涓庢祻瑙堝櫒浜や簰鐨勬枃浠剁被鍨嬪拰缂栫爜銆4銆佷娇鐢 array() 鍑芥暟瀹氫箟涓涓$numbers鏁扮粍銆5銆佷娇鐢 sort() 鍑芥暟瀵规暟缁 $numbers 涓殑鍏冪礌杩涜鎺掋6銆佷娇鐢 print_r() 鍑芥暟锛岃緭鍑鎺掑簭鍚鐨鏁扮粍銆7銆佽繍琛岀綉椤碉紝鍦ㄦ祻瑙堝櫒涓緭鍑烘帓搴忓悗鐨勬暟缁勩
  • 扩展阅读:从小c到大 ... c++必背入门代码 ... c++入门程序代码 ... c++编程必背50个代码 ... c++中<< ... c语言数组按降序排序 ... 对10个数进行排序c语言 ... c语言四个数从大到小输出 ... c语言数组排列顺序大到小 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网