當前位置:首頁 » 編程語言 » 排序輸入c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

排序輸入c語言

發布時間: 2023-05-27 04:34:11

c語言:對輸入的十個數進行從小到大排序

1、首先打開編輯軟體,新建一個c程序空文件,引入標准庫和主函數,定義一個QuickSort函數用來排序,下面首先編寫排序函數的:

㈡ 用c語言編程:鍵盤上輸入N個整數,使該數組中的數按照從小到大的次序排列(選擇法排序)

#include "stdio.h"

#define N 10

int main(int argc,char *argv[]){

int a[N],i,j,k;

printf("Please enter %d integer(s)... ",N);

for(i=0;i<N;scanf("%d",a+i++));//輸入

for(i=0;i<N;i++){//選擇法排序

for(k=i,j=k+1;j<N;j++)

if(a[k]>a[j])

k=j;

if(k!=i)

j=a[k],a[k]=a[i],a[i]=j;

printf("%d ",a[i]);

}

printf(" ");

return 0;

}

代碼圖片和運行樣例:

㈢ C語言:將輸入的字元串按首字母順序排列。

#include<stdio.h>

#include<string.h>

void sort(char *a[]);

void print(char *a[]);

int main()

{

char *a[] ={"ceo","define","basic","abc","empty"};

printf("原來的序列是: ");

print(a);

sort(a);

printf(" 排序後的序列是: ");

print(a);

printf(" ");

return 0;

}

void sort(char *a[])

{

int i,j;

char *temp;

for(i=0;i<4;i++)//注意是i<4

{

for(j=0;j<4;j++)//注意是j<4,因為下面要+1和後面的那個字元串比較

{

if(strcmp(a[j],a[j+1])>0)//字元串比較:>0表示前面的字元串比後面的大則交換

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

}

void print(char *a[])

{

int i;

for(i=0;i<5;i++)

{

printf("%s ",a[i]);

}

}

運行效果:

(3)排序輸入c語言擴展閱讀:

return 0的用法:

return的作用是結束正在運行的函數,並返回函數值。return後面可以跟一個常量,變數,或是表達式。

函數的定義一般是這樣的,例如:

inta(inti)//第一個int是函數的返回值的類型,也就是return後面跟的值的類型,a是函數的名稱,括弧里的是傳遞給函數的參數,int是參數的類型,i是參數的名字

...//省略函數體內容

returnb;//b必須與函數頭的返回值一致(此處為int型)

簡單函數舉例:

intaddOne(intb)

returnb+1;

該函數的作用是取得一個數,將這個數加上1,再將結果返回

調用時這樣:

intresult=addOne(2);//此時result的值為3

函數括弧里的參數也可以為變數或能算出值的表達式

以上就是一個基本的函數,一般的函數都有返回值,也就是return後面跟的值,返回值可以為各種數據類型,如:int,float,double,char,a[](數組),*a(指針),結構或類(c++)

但不是所有函數都有返回值,如果某個函數無返回值,那麼返回值的位置則為「void」關鍵字,此時函數體中無返回值,即無return的值。但是函數中也可出現return,即一個空的return句子,其作用是使函數立即結束,如voidprint()//括弧中為空表示無傳遞參數、

printf("a");

printf("b");

return;//函數執行到此處結束

printf("c");

}//該函數只執行到return語句處,即屏幕上輸出的為"ab"

㈣ C語言如何輸入十個數,按從大到小順序排列!

代碼如圖所示:

#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++) //循環

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("從大到小排序後:");

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

printf("%2d", a[i]);

return 0;

}

(4)排序輸入c語言擴展閱讀

C語言順序排列題的其他解法

#include <stdio.h>

int main()

{

int a[10];

int i,j;

int temp;

printf("請輸入10個整數:");

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])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

printf("排列後順序為:");

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

{

printf("%d ",a[i]);

}

printf(" ");

return 0;

}

㈤ C語言,輸入一組數進行排序,由大到小排列,用自定義函數實現

給你一個直接插入排序
#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]);
}

㈥ 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++)

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("從大到小");

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

printf("%2d", a[i]);

return 0;

}

(6)排序輸入c語言擴展閱讀:

代碼還可以設計,如下:

#include<stdio.h>

int main()

{

int a[10],i,j,t;//定義數組;

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

scanf("%d",&a[i]);//給數組賦值;

}

for(i=0;i<9;i++)//10個數,進行9輪比較;

for(j=0;j<10-i;j++){//第一個數比較9次,依次遞減;

if(a[j]>a[j+1]) {//交換值;

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

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

printf("%d ",a[i]);//輸出數組的值;

}

return 0;

}

}

printf("the sorted numbers: ");

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

printf(" %d",a[i]);

printf(" ");

}

㈦ 怎樣用C語言使輸入的數按升序排列

還是簡單給你個程序吧!這樣你也好理解;
#include <stdio.h>
void main()
{
int a,b,c,t;
printf("input the numbers:\n");
scanf("%d%d%d",&a,&b,&c);//輸入三個數;
if(a>b){t=a;a=b;b=t;}//如果a比b大,那麼交換枝枯a,b的值
if(a>c){t=a;a=c;c=t;}//如果a比c大,交換a,c的值
if(b>c){t=b;b=c;c=t;}//如果b比c大,交換b,c的值
printf("%d,%d,%d"冊搭閉,a,b,c);
}
3個數共州裂比較3次,每兩個數都要比較一次;
要是4個數就要6次 比方說
a,b,c,d
(a>b)(a>c)(a>d)(b>c)(b>d)(c>d)

㈧ C語言中輸入一串字元,怎樣讓它按照字母從小到大的順序排列

這可以把字元串輸入到字元數組中,然後採用排序的方法來實現:
(需要包含<string.h>頭文件)
char t,s[200];
int i,i;
gets(s);
for(i=0;i<strlen(s)-1;i++)
for(j=0;j<strlen(s)-1-i;j++)
if(s[j]>s[j+1])
{t=s[j]; s[j]=s[j+1]; s[j+1]=t;}
puts(s);