c語言用指針函數(shù)數(shù)組排序 c語言中數(shù)組排序方法

編寫一個(gè)C語言程序,利用指針對(duì)數(shù)組進(jìn)行排序

#include stdio.h

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)湖北免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

#include stdlib.h

#include time.h#define MAXlen 20void shell_sort(int *x, int n) { // 希爾排序

int h, j, k, t;

for (h = n / 2; h 0; h = h / 2) { // 控制增量

for (j = h; j n; j++) { t = *(x + j);

for (k = j - h; (k = 0 t *(x + k)); k -= h) {

*(x + k + h) = *(x + k);

}

*(x + k + h) = t;

}

}

}

int main() {

int i;

int iArr[MAXlen];

srand((unsigned int)time(NULL));

printf("\n排序前:\n");

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

iArr[i] = (unsigned int)rand() % 1000;

if(i % 10 == 0) printf("%\n");

printf("%5d",iArr[i]);

}

printf("\n");

shell_sort(iArr,MAXlen);

printf("\n排序后:\n");

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

if(i % 10 == 0) printf("%\n");

printf("%5d",iArr[i]);

}

printf("\n\n");

return 0;

}

C語言. 用指針與數(shù)組作為函數(shù)參數(shù),按下面四種情況對(duì)數(shù)組float a[10]進(jìn)行降序排序:

樓主,我只能實(shí)現(xiàn)1、4,我想,在C中應(yīng)該不存在有2,3兩種情況吧,稍后來寫代碼。

第一種:

#includestdio.h

void Calculate(float *pfloat);

int main()

{

float a[10];

int i;

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

{

printf("Please Enter %d Data\n",i+1);

scanf("%f\n",a[i]);

}

Calculate(a);

printf("Calculate After");

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

{

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

}

getch();

return 0;

}

void Calculate(float *pfloat)

{

int i,j;

float ftemp;

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

{

for(i=1;i10-j;i++)

{

if (*(pfloat+i-1) *(pfloat+i))

{

ftemp=*(pfloat+i-1);

*(pfloat+i-1)= *(pfloat+i);

*(pfloat+i)=ftemp;

}

}

}

}

第四種

#includestdio.h

void?Calculate(float?*pfloat);

int?main()

{

float?a[10],*pfloat;

int?i;

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

{

printf("Please?Enter?%d?Data\n",i+1);

scanf("%f\n",a[i]);

}

pfloat=a;

Calculate(pfloat);

printf("Calculate?After");

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

{

printf("%f?",a[i]);

}

getch();

return?0;

}

void?Calculate(float?*pfloat)

{

int?i,j;

float?ftemp;

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

{

for(i=1;i10-j;i++)

{

if?(*(pfloat+i-1)??*(pfloat+i))

{

ftemp=*(pfloat+i-1);

*(pfloat+i-1)=?*(pfloat+i);

*(pfloat+i)=ftemp;

}

}

}

}

編寫一個(gè)C語言程序,利用指針對(duì)數(shù)組進(jìn)行排序,并解釋所編寫的代碼?

#include

stdio.h

void

Sort(

int

*s,

int

n

)

{

int

*p

=

s;

//定義一個(gè)指向數(shù)組首地址的指針

int

*q,

tmp;

for(

;

p

s+10;

p++

)

//當(dāng)指針移動(dòng)到數(shù)組的末端結(jié)束

{

for(

q

=

p

;

q

s+10;

q++

)

//按照插入排序的方式執(zhí)行

{

if(

*q

*p

)

{

tmp

=

*p;

*p

=

*q;

*q

=

tmp;

}

}

}

}

int

main()

{

int

i;

int

s[10]

=

{9,8,7,6,5,4,3,2,1,0};

Sort(s,10);

//調(diào)用排序函數(shù)

for(

i

=

0;

i

10;

++i

)

//輸出排序后的結(jié)果

{

printf("%d

",s[i]);

}

printf("\n");

return

0;

}

采用指針對(duì)數(shù)組進(jìn)行排序c語言指針

/*?PRESET?CODE?BEGIN?-?NEVER?TOUCH?CODE?BELOW?*/

#include?stdio.h

#include?stdlib.h

/*?run?this?program?using?the?console?pauser?or?add?your?own?getch,?system("pause")?or?input?loop?*/

char?*resort(char?*a)

{

char?cMin,?cSwap;

int?i,?j,?iIndex,?iSize?=?strlen(a);

for(i=0;?iiSize;?i++)

{

cMin?=?127;

for(j=i;?jiSize;?j++)

{

if(a[j]?=?cMin)

{

cMin?=?a[j];

iIndex?=?j;

}

}

cSwap?=?a[i];

a[i]?=?cMin;

a[iIndex]?=?cSwap;

}

return?a;

}

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

{

char?a[100];

gets(a);

puts(resort(a));

return?0;

}

C語言中的字符指針數(shù)組排序

完整程序如下:

#includestdio.h

void sort_string(char **p,int n){

int i,j;

char s[80];

for (i=0;in-1;i++){

for (j=i+1;jn;j++){

if (strcmp(*(p+i),*(p+j))0){

strcpy(s,*(p+i));strcpy(*(p+i),*(p+j));strcpy(*(p+j),s);

};};};

}

int main()

{

char *str[]={ "teacher", "student", "maneger", "employee", "telicent" };

int i,n=5;

sort_string(str,n);

for (i=0;in;i++) printf("%s\n",str[i]);

return 0;

}

c語言指針數(shù)組排序?

p是int類型指針,指向數(shù)組a的第1個(gè)元素即一個(gè)一維的數(shù)組{1,2,3}首地址所以p[1]相當(dāng)于a[0][1]所以printf("%d\n",p[1]);

輸出2 。 int **pp =pa 是聲明了一個(gè)指向pa的指針,而pa又是指向a首地址的int類型指針。pa指向的是a的第一維,pa[0] = a[0] ,pp[2][1]相當(dāng)于a[2][1]而a數(shù)組的[2]中只初始化了[2][0]位置的7,那[2][1]位置就是默認(rèn)的值0,所以printf("%d\n",pp[2][1]);

輸出0

名稱欄目:c語言用指針函數(shù)數(shù)組排序 c語言中數(shù)組排序方法
地址分享:http://muchs.cn/article40/hhspho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站建設(shè)、建站公司、全網(wǎng)營銷推廣、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司