真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

C語言中用三個函數排序 c語言中幾種排序方法

編寫c語言程序用三個函數求10個同學的平均分及成績排序

1、寫一個主函數,10個成績放在一個數組里。

創(chuàng)新互聯(lián)建站專注于汝州企業(yè)網站建設,響應式網站,購物商城網站建設。汝州網站建設公司,為汝州等地區(qū)提供建站服務。全流程定制制作,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務

2、然后寫一個求平均值的函數,返回平均值,用循環(huán)語句求和在求平均值,小學生應該都會求平均值。

3、再寫一個排序算法,先模仿一個冒泡排序算法,最簡單的排序算法。

這樣不就三個函數了嗎?,這個題主要讓你初步掌握,數組,循環(huán)語句的使用,函數的調用,函數參數的傳遞,函數值的返回等。學習C就自己多練,多想這樣會進步,代碼就不寫了吧,對你不好。

C語言中要把三個數從大到小排列出來應該怎么編?

初學簡單版本代碼如下:

#includestdio.h

int main( )

{

int a, b, c;//定義三個數的變量

int t ;//定義作為交換的變量

scanf ( "%d%d%d" , a, b, c ) ; //取值

if ( a b )

{t = a; a = b; b = t ;};//如果a,b,進行交換,反之不動

if ( a c )

{t = a; a = c; c = t ;};//同上

if ( b c )

{t = b; b = c; c = t ;};

printf( "%-5d%-5d%-5d\n" , a, b, c);//輸出

}

擴展資料:

C語言中其他多個數排序的方法:

1、冒泡排序法

#include stdio.h

#define SIZE 8

void bubble_sort(int a[], int n);

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;

} } }

int main()

{

int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};

int i;

bubble_sort(number, SIZE);

for (i = 0; i SIZE; i++)

{

printf("%d\n", number[i]);

}

}

2、選擇排序

#includestdio.h

void main()//主函數

{

int a[10];

int i,j,w;

printf("請輸入10個數字: \n");

for(i=0;i10;i++)

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

for(i=0;i10;i++)

{

for(j=i+1;j10;j++)

if(a[i]a[j])//進行比較

//比較后進行交換

{

w=a[i];

a[i]=a[j];

a[j]=w;

}

C語言中從鍵盤上輸入三個數,將之排序后按由大到小的順序輸出

具體操作方法如下:

#includestdio.h

int main(void)

{int a,b,c,t;

printf("請輸入三個數");

scanf("%d%d%d",a,b,c);

if(ab)

{t=a;a=b;b=t;}

if(bc)

{t=b;b=c;c=t;}

if(ab)

{t=a;a=b,b=t;}

printf("從大到?。?d %d %d",a,b,c);

system("pause");

return 0;}

注意:中間的t=a;a=b;b=t,就是交換a和b的位置,總是把大的換到前面來。

擴展資料:

c語言任意輸入5個數,并按從大到小順序輸出的方法如下:

#include stdio.h

#include stdlib.h

int main()

{int a[5];

int i,j,k;

for(i=0;i=4;i++)

{scanf("%d",a[i]);}

for(i=0;i=4;i++){

for(j=0;j=4;j++)

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

{k=a[i]; a[i]=a[j]; a[j]=k;}}}

printf("排序結果是:\n");

for(i=0;i=4;i++)

{ ?printf("%d\t",a[i]);

}return 0;

C語言 輸入三個數 按由小到大排序 函數調用的方法

#includestdio.h

mian()

{

int f(int *pointer1,int *pointer2,int *pointer3); \\對要進行調用的函數進行聲明

int change(int *po1,int *po2);

int a,b,c,*p1,*p2,*p3; \\定義整形三個變量和三個指針變量。

scanf("%d %d %d",a,b,c);

p1=a; p2=b; p3=c;

f(*p1,*p2,*p3); \\調用函數f()

printf("排序后的三個數為:%d%d%d\n",a,b,c);

}

int f(int *pointer1,int *pointer2,int *pointer3)

{

if(*pointer1*pointer2) change(*pointer1,*pointer2);

if(*pointer1*pointer3) change(*pointer1,*pointer3);

if(*pointer2*pointer3) change(*pointer2,*pointer3);

}

int change(int *po1,int *po2)

{

int t;

t=*po1;

*po1=*po2;

*po2=t;

}

c語言編程....輸入10個數到一維數組中,按升序排序后輸出。分別用3個函數 實現(xiàn)數據的輸入,排序和輸出。

// sort.c by 樂觀次品

// 以下常用的排序算法都在這里了,希望能幫到你。

#include stdio.h

#define N 15

#define swap(A,B) {int temp; temp = A; A = B; B = temp;}

#define min(A,B) ((AB)?A:B)

/*int partition(int *a,int l,int r)

{

int v = a[l];

int left = l, right = r+1;

while(1)

{

while(a[++left]v leftr);

while(a[--right]v);

if(leftright) swap(a[left],a[right])

else break;

}

swap(a[l],a[right]);

return right;

}

void quicksort(int *a,int l,int r)

{

int mid;

if(l = r) return;

mid = partition(a,l,r);

quicksort(a,l,mid-1);

quicksort(a,mid+1,r);

}

void merge(int *a,int l,int m,int r)

{

int b[N];

int i =l, j=m+1, k =0;

while(i=m j=r)

{

if(a[i]a[j]) b[k++] = a[i++];

else b[k++] = a[j++];

}

while(i=m) b[k++] = a[i++];

while(j=r) b[k++] = a[j++];

for(k=0,i=l;i=r;i++,k++) a[i] = b[k];

}

void mergesort(int *a,int l,int r)

{

int step=1;

int i;

for(step=1;stepr;step = 2*step)

for(i=l;i=r;i=i+2*step)

merge(a,i,min(i+step-1,r),min(i+2*step-1,r));

}

void mergesort(int *a,int l,int r)

{

int mid = (l+r)/2;

if(l=r) return;

mergesort(a,l,mid);

mergesort(a,mid+1,r);

merge(a,l,mid,r);

}

void shellsort(int *a, int len)

{

int step;

int i,j;

int temp;

for(step = len/2; step=1; step /=2)

{

for(i=step;ilen;i++)

{

j = i;

temp = a[i];

while(j-step=0 a[j-step] temp)

{

a[j] = a[j-step];

j -= step;

}

a[j] = temp;

}

}

}

void insertsort(int *a, int len)

{

int i,j;

int temp;

for(i=1;ilen;i++)

{

j=i;

temp = a[i];

while(j0 a[j-1]temp)

{

a[j] = a[j-1];

j--;

}

a[j]=temp;

}

}

void selectsort(int *a, int l,int r)

{

int i,j,min;

for(i=l;ir;i++)

{

min=i;

for(j=i+1;j=r;j++)

{

if(a[j]a[min]) min=j;

}

swap(a[i],a[min]);

}

} */

void heapadjust(int *a,int k,int n)

{

int j;

while(2*k = n)

{

j = 2*k;

if(a[j]a[j+1] jn-1) j++;

if(a[k]=a[j]) break;

swap(a[k],a[j]);

k = j;

}

}

void heapsort(int *a,int l,int r)

{

int k,n=r-l+1;

for(k=n/2;k=l;k--)

heapadjust(a,k,n);

while(rl)

{

swap(a[l],a[r]);

r--;

heapadjust(a,l,r);

}

}

void main()

{

int a[N] = {65,70,80,65,50,90,44,65,65,33,22};

int i;

printf("\n before sort :\n");

for(i=0;iN;i++) printf(" %d",a[i]);

//quicksort(a,0,N-1);

//mergesort(a,0,N-1);

//shellsort(a,N);

//insertsort(a,N);

//selectsort(a,0,N-1);

heapsort(a,0,N-1);

printf("\n after sort :\n");

for(i=0;iN;i++) printf(" %d",a[i]);

}


新聞名稱:C語言中用三個函數排序 c語言中幾種排序方法
轉載注明:http://weahome.cn/article/dooshoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部