C语言:对输入的十个数进行从小到大排序 编程序 c语言:实现对任意十个数进来从小到大排序

C\u8bed\u8a00\u7a0b\u5e8f\u8bbe\u8ba1\uff1a \u4ece\u7528\u6237\u8f93\u516510\u4e2a\u6574\u6570\uff0c\u5bf9\u5176\u6309\u7167\u4ece\u5c0f\u5230\u5927\u7684\u987a\u5e8f\u6392\u5e8f\uff0c\u5e76\u8f93\u51fa\u7ed3\u679c\u3002

//\u8981\u6c42\u4efb\u610f\u8f93\u516510\u4e2a\u6570\uff0c\u7136\u540e\u6309\u4ece\u5c0f\u5230\u5927\u987a\u5e8f\u8f93\u51fa
#include
int main()
{
int a[10];
int i,j;
int temp;
printf("\u8bf7\u8f93\u516510\u4e2a\u6574\u6570\uff1a");
for(i=0;i<10;i++)
{
scanf("%d",&a);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("\u6392\u5217\u540e\u987a\u5e8f\u4e3a\uff1a");
for(i=0;i<10;i++)
{
printf("%d",a);
}
printf("\n");
return 0;
}

\u6269\u5c55\u8d44\u6599\uff1a\u2460printf()\u51fd\u6570\u662f\u683c\u5f0f\u5316\u8f93\u51fa\u51fd\u6570,\u4e00\u822c\u7528\u4e8e\u5411\u6807\u51c6\u8f93\u51fa\u8bbe\u5907\u6309\u89c4\u5b9a\u683c\u5f0f\u8f93\u51fa\u4fe1\u606f\u3002
\u683c\u5f0f\u8f93\u51fa\uff0c\u5b83\u662fc\u8bed\u8a00\u4e2d\u4ea7\u751f\u683c\u5f0f\u5316\u8f93\u51fa\u7684\u51fd\u6570\uff08\u5728stdio.h\u4e2d\u5b9a\u4e49\uff09\u3002\u7528\u4e8e\u5411\u7ec8\u7aef\uff08\u663e\u793a\u5668\u3001\u63a7\u5236\u53f0\u7b49\uff09\u8f93\u51fa\u5b57\u7b26\u3002\u683c\u5f0f\u63a7\u5236\u7531\u8981\u8f93\u51fa\u7684\u6587\u5b57\u548c\u6570\u636e\u683c\u5f0f\u8bf4\u660e\u7ec4\u6210\u3002
\u8981\u8f93\u51fa\u7684\u6587\u5b57\u9664\u4e86\u53ef\u4ee5\u4f7f\u7528\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7a7a\u683c\u548c\u4e00\u4e9b\u6570\u5b57\u7b26\u53f7\u4ee5\u5916\uff0c\u8fd8\u53ef\u4ee5\u4f7f\u7528\u4e00\u4e9b\u8f6c\u4e49\u5b57\u7b26\u8868\u793a\u7279\u6b8a\u7684\u542b\u4e49\u3002
\u7b80\u5355\u70b9\u7406\u89e3\u5c31\u662f\uff0c\u5728\u4e00\u6bb5\u7a0b\u5e8f\u4e2d\u4f60\u6b63\u786e\u4f7f\u7528\u8be5\u51fd\u6570\uff0c\u53ef\u4ee5\u5728\u8be5\u7a0b\u5e8f\u8fd0\u884c\u7684\u65f6\u5019\u8f93\u51fa\u4f60\u6240\u9700\u8981\u7684\u5185\u5bb9\u3002
\u2461printf\u51fd\u6570\u662f\u4e00\u4e2a\u6807\u51c6\u5e93\u51fd\u6570\uff0c\u5b83\u7684\u51fd\u6570\u539f\u578b\u5728\u5934\u6587\u4ef6\u201cstdio.h\u201d\u4e2d\u3002\u4f46\u4f5c\u4e3a\u4e00\u4e2a\u7279\u4f8b\uff0c\u4e0d\u8981\u6c42\u5728\u4f7f\u7528printf\u51fd\u6570\u4e4b\u524d\u5fc5\u987b\u5305\u542bstdio.h\u6587\u4ef6\u3002
printf()\u51fd\u6570\u7684\u8c03\u7528\u683c\u5f0f\u4e3a:printf("",)\u3002
\u5176\u4e2d\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002\u683c\u5f0f\u63a7\u5236\u4e32\u53ef\u7531\u683c\u5f0f\u5b57\u7b26\u4e32\u548c\u975e\u683c\u5f0f\u5b57\u7b26\u4e32\u4e24\u79cd\u7ec4\u6210\u3002

\u53ea\u7ed9\u622a\u56fe\uff0c\u624b\u52a8\u6572\u4e00\u904d\u603b\u6bd4\u590d\u5236\u7c98\u8d34\u597d


1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:

2、此处用到快速排序思想,通过一趟排序将要排序的数据分割成独立的两部分,即这里用i和j两个变量分割数据,然后一部分的所有数据都比另外一部分的所有数据都要小,接着对这两部分数据分别进行比较排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列:

3、接着编写主函数,主函数中定义一个数组,然后用scanf接受数组,用户输入10个数以后,会将数存在数组array中,然后调用上面处理排序的函数,函数的输入就是刚才输入的数,最后在把排序的结果输出即可:

4、最后编译运行,输入10个数,最后控制台输出了排序的结果,证明程序的逻辑是没有问题的。以上就是C语言输入10个数排序的演示:



以两种方法为例,分别是冒泡法和选择法。

【一】冒泡法

冒泡法的基本思路:每次将相邻的两个数相比较,将小的调到前头。

如果有n个数,则要进行n-1趟比较。在第一趟中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。

#include<stdio.h>  
#pragma warning(disable:4996)  
int main()  
{  
    int i, j, temp, a[10];  
    printf("Please enter ten numners:
");  
    for (i = 0; i < 10; i++)  
        scanf("%d", &a[i]);  
    printf("
");  
    for (j = 0; j < 9; j++)  
    {  
        for (i = 0; i < 9 - j; i++)  
        {  
            if (a[i]>a[i + 1])  
            {  
                temp = a[i];  
                a[i] = a[i + 1];  
                a[i + 1] = temp;  
            }  
        }  
    }  
    printf("The sorted numbers:
");  
    for (i = 0; i < 10; i++)  
        printf("%d ", a[i]);  
    printf("
");  
    system("pause");  
    return 0;  
}

【二】选择法

选择法的基本思路:将前边的数依次和后边的每个数比较,每次挑出最小的放在前面。

如果有n个数、一共用进行n-1轮比较a[1]~a[n]就已按从小到大的顺序存放了。

#include<stdio.h>  
#pragma warning(disable:4996)  
int main()  
{  
    int i, j, min, temp, a[10];  
    printf("Please enter ten numners:
");  
    for (i = 0; i < 10; i++)  
        scanf("%d", &a[i]);  
    printf("
");  
    for (i = 0; i < 9; i++)  
    {  
        min = i;  
        for (j = i + 1; j<10; j++)  
        {  
            if (a[min]>a[j])min = j;  
            {  
                temp = a[i];  
                a[i] = a[min];  
                a[min] = temp;  
            }  
        }  
    }  
    printf("The sorted numbers:
");  
    for (i = 0; i < 10; i++)  
        printf("%d ", a[i]);  
    printf("
");  
    system("pause");  
    return 0;  
}


排序方法太多,就用其中最简单的一个冒泡法吧
include <stdio.h>

void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j]) {
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}

int main()
{
int arr[10];

for(int i=0;i<10;i++)
{

printf("请输入要排序的第%d个整数:\n",i+1);
scanf("%d",&arr[i]);

}
bubble(arr,10);

return 0;

}

#include<stdio.h>
main()
{
int a[10],i,j,t;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("before sorting:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("\nafter sorting:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}

你可以写一个简单的链表
线性物理结构对这方面处理比较简单

  • C璇█:瀵硅緭鍏ョ殑鍗佷釜鏁拌繘琛屼粠灏鍒板ぇ鎺掑簭
    绛旓細1銆侀鍏堟墦寮缂栬緫杞欢锛屾柊寤轰竴涓c绋嬪簭绌烘枃浠讹紝寮曞叆鏍囧噯搴撳拰涓诲嚱鏁帮紝瀹氫箟涓涓猀uickSort鍑芥暟鐢ㄦ潵鎺掑簭锛屼笅闈㈤鍏堢紪鍐欐帓搴忓嚱鏁扮殑锛2銆佹澶勭敤鍒板揩閫熸帓搴忔濇兂锛岄氳繃涓瓒熸帓搴忓皢瑕佹帓搴忕殑鏁版嵁鍒嗗壊鎴愮嫭绔嬬殑涓ら儴鍒嗭紝鍗宠繖閲岀敤i鍜宩涓や釜鍙橀噺鍒嗗壊鏁版嵁锛岀劧鍚庝竴閮ㄥ垎鐨勬墍鏈夋暟鎹兘姣斿彟澶栦竴閮ㄥ垎鐨勬墍鏈夋暟鎹兘瑕佸皬锛屾帴鐫瀵硅繖涓ら儴鍒...
  • C璇█绋嬪簭璁捐: 浠庣敤鎴杈撳叆10涓暣鏁,瀵瑰叾鎸夌収浠庡皬鍒板ぇ鐨勯『搴忔帓搴,骞惰緭...
    绛旓細棣栧厛锛屾垜浠渶瑕佸寘鍚ご鏂囦欢锛屼互渚夸娇鐢ㄦ爣鍑嗚緭鍏ヨ緭鍑哄嚱鏁般傚湪涓诲嚱鏁癿ain()涓紝鎴戜滑瀹氫箟涓涓暱搴︿负10鐨鏁存暟鏁扮粍a锛屽苟璁剧疆涓や釜鍙橀噺i鍜宩鏉ヨ緟鍔╂帓搴忚繃绋嬶紝浠ュ強涓涓复鏃跺彉閲弔emp鐢ㄤ簬浜ゆ崲鍏冪礌鍊笺傛帴鐫锛岄氳繃printf()鍑芥暟鎻愮ず鐢ㄦ埛杈撳叆10涓暣鏁锛屽苟浣跨敤for寰幆璇诲彇鐢ㄦ埛鐨勮緭鍏ャ傚湪鎺掑簭閮ㄥ垎锛屼娇鐢ㄥ祵濂楃殑for寰幆锛屽灞傚惊鐜...
  • 杈撳叆10涓暣鏁,鎸夌収鐢卞ぇ鍒板皬鐨勯『搴忚緭鍑C璇█缂栧啓
    绛旓細瀵傚癁鑰岃帿鎴戠煡涔 閲囩撼鐜:36% 鏉ヨ嚜鍥㈤槦:CppExpert 鎿呴暱: C/C++ 鐢佃剳/缃戠粶 姹囩紪璇█ 浜掕仈缃 甯歌杞欢 鍏朵粬鍥炵瓟 #include<isostream.h>void main(){int data[10];cout<<endl<<"璇杈撳叆10涓暣鏁:";int i;for(i=0;i<10;i++)cin>>data[10];#define SIZE(sizeof(data)/sizeof(data(0))int m;for...
  • ...杈撳叆10涓暣鏁,鐢ㄥ啋娉℃帓搴忔硶瀵硅繖浜鏁存暟杩涜浠庡皬鍒板ぇ鎺掑簭,杈撳嚭鎺掑簭鍓...
    绛旓細int a[10];int b[10]={9,10,11,12,1,2,3,4,0,1};int c[10]={1,2,3,4,13,14,15,16,2,3};int i;printf("璇杈撳叆寰呮帓搴鐨10涓暟锛");for(i=0;i<10;i++){ scanf("%d",&a[i]);} fun(a);printf("\n鎺掑簭鍚庣殑鏁板垪濡備笅锛歕n");for(i=0;i<10;i++){ printf("...
  • C璇█鐢ㄦ暟缁,杈撳叆鍗佷釜鏁,閫夋嫨娉曟寜浠庡皬鍒板ぇ鎺掑垪
    绛旓細}for(i=0;i<10;i++)printf("%d ",a[i]);} 鏈洖绛旇鎻愰棶鑰呭拰缃戝弸閲囩撼 117028813 | 鍙戝竷浜2013-05-01 涓炬姤| 璇勮(2) 10 23 1鏉℃姌鍙犲洖绛 涓烘偍鎺ㄨ崘: c璇█鍗佷釜鏁鎺掑簭 鏁扮粍浠庡皬鍒板ぇ鎺掑簭 杈撳叆鍗佷釜鏁鎸夐『搴忚緭鍑 鍗佷釜鏁板啋娉℃帓搴 9涓暟浠庡皬鍒板ぇ鎺掑簭 瀵规暟缁勪粠灏忓埌澶х紪鍙 杈撳叆鏁扮粍 缁撴瀯...
  • C璇█闂:浠庨敭鐩杈撳叆鍗佷釜鏁,鐢ㄥ啋娉瀵硅緭鍏ョ殑鏁版嵁浠庡皬鍒板ぇ鐨勯『搴杩涜鎺掑簭...
    绛旓細include "stdio.h"int main(){int a[10],b;int i,j;for (i = 0; i < 10; i++){printf("杈撳叆绗%d涓暟瀛:",i+1);scanf("%d", &a[i]);getchar();}//鍐掓场鎺掑簭for (i = 0; i < 10 - 1; i++){for (j = 0; j < 10-i - 1; j++){if (a[j]>a[j + 1])...
  • C璇█:杈撳叆10涓暟渚濇浠庡ぇ鍒板皬鎺掑簭!
    绛旓細int a[10],i,j,t;printf("璇杈撳叆10涓暣鏁:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t;} printf("鎺掑簭浠ュ悗鐨勬暟:\n");for(i=0;i<10;i++)printf("%d "...
  • C璇█濡備綍杈撳叆鍗佷釜鏁,鎸変粠澶у埌灏忛『搴忔帓鍒!
    绛旓細鐢ㄩ夋嫨鎺掑簭娉曠紪鍐c璇█锛屽疄鐜颁粠閿洏涓杈撳叆10涓暟锛屾寜浠庡ぇ鍒板皬鐨勯『搴忔帓搴忚緭鍑恒備唬鐮佸涓嬶細include<stdio.h> int main(){ int i,j,a[10],t;printf("杈撳叆鏁");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...
  • 姹C璇█绋嬪簭: 杈撳叆10涓暟.灏嗗畠浠浠庡皬鍒板ぇ杈撳嚭銆
    绛旓細include <stdio.h>#include <iostream>using namespace std;int a[100];int main(){ cout<<"杈撳叆10涓暟锛岀敤绌哄彿闅斿紑锛"<<endl; for(int i=0;i<10;i++)cin>>a[i]; for(int i=0;i<10;i++) { for(int j=i+1;j<10;j++) { if(a[i]>a[j]) { ...
  • C璇█绋嬪簭璁捐: 浠庣敤鎴杈撳叆10涓暣鏁,瀵瑰叾鎸夌収浠庡皬鍒板ぇ鐨勯『搴忔帓搴,骞惰緭...
    绛旓細min = arr[i];int c;for(j=i;j < 10;j++){if(arr[j] < min){min = arr[j];mini = j;}}c = arr[i];arr[i] = min;arr[mini] = c;}for(i = 0;i < 10;i++){printf("%d ",arr[i]);}}濡傛灉鏈夐渶瑕侊紝鍙互澧炲姞闅忔満鐢熸垚鍔熻兘銆傜湅涓嶆噦鍙互缁х画杩介棶鎴栨槸绉佷俊銆傛湜閲囩撼銆
  • 扩展阅读:一节课就可以学会c++视频 ... 学习c++的视频 ... c++语言入门自学 ... c++入门程序代码 ... c++免费视频教程 ... c++中<< ... 一节课教你学会c++视频 ... c++输入 ... c#语言翻译器 ...

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