修改fun2函式,實現1,將陣列a中大於 20的元素,依次存放到陣列b中2,將陣列b中的元素按照從小到大的

時間 2022-03-08 17:25:02

1樓:

你的排序沒有任何問題。問題有2——

fun2中的

for(i=0;i-20){

b[j]=a[i];

j++;

q=j;

中,b[j]=a[i]表示式中的j還沒有初始化就使用了,出大錯。把for(i=0;i沒有對c賦值,卻要輸出其內容,所以錯。在fun2中的for(i=0;ifor(i=0;ifor(j=i+1;jif(b[i]>b[j]){

t=b[j];

b[j]=b[i];

b[i]=t;

c[i]=b[i];//增加這一句

2樓:瘋花倔呆

#include

int fun2(int a,int n,int b,int c)

}m=q;

for(i=0;ic[j]) //對c陣列排序,b陣列不用排序了

return q; /**/

}void main()

;int bb[10], cc[10];

printf("there are %2d elements in aa.\n", nn);

printf("they are: ");

for(i=0; i

printf("\n");

nb = fun2(aa, nn, bb, cc);

printf("elements in bb are: ");

for (i=0; i

printf("\n");

printf("elements in cc are: ");

for(i=0; i

printf("\n");

printf("there are %2d elements in bb.\n", nb);}

3樓:

排序那裡不是氣泡排序嗎,好像沒問題

c語言:這個怎麼做?? 幫幫忙哦! 先謝了!

4樓:狄特里希

vs2005編譯通過,希望對你有幫助!

int fun2(int a,int n,int b,int c)}for(i=0;ic[j]) }

}return index;}

5樓:電子發燒友愛好者

幫頂、、、、、、、、、、

在主函式中輸入十個整數存入陣列,編寫一個函式實現對該陣列元素進行從小到大排序的功能

6樓:凌亂心扉

#include

int main()

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

func1(a);

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

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

printf("\n");

return 0;

}void func1(int a)}}}

7樓:匿名使用者

#include

void sort(int a)

}if(k!=i)}}

void main()

sort(a);

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

8樓:匿名使用者

#includeint main()

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

return 0;}

9樓:匿名使用者

指標法輸出

#include

int main()

return 0;

}void sort(int x,int n)}}

編寫一個函式,將2*3的二維陣列a中的行和列的元素互換,存到另一個二維陣列b中去。輸出a,b陣列。大神們

10樓:刑桖卉

#includevoid main() ,},arr2[3][2]; int i,j; printf("\nthe original array:\n"); for(i=0;i<2;i++) change(arr1,arr2); printf("\nthe changed array:\n"); for(i=0;i<3;i++) } void change(int arr1[2][3],int arr2[3][2])

c語言 將二維陣列a[4][5]中的元素按列存放到一維陣列b[20]中,二維陣列元素鍵盤輸入

11樓:防禦

#include

int main()

, b[20] = {}; //定義並初始化為 0for (int i = 0; i < 4; i++)}printf("the a[4][5] is : \n");

for (int i = 0; i < 4; i++)printf("\n"); //陣列中輸出一行之後,換行}for (int i = 0, k = 0; i < 5; i++) //因為要按列儲存,所以陣列中行變,列不變

//所以外層迴圈是 5 次,內層迴圈為 4 次}printf("the b[20] is : \n");

for (int i = 0; i < 20; i++)return 0;}

求助學霸!以下程式中merge函式將兩個已按升序存放在陣列a、b中的數列合併為一個升序數列存放到c陣列中。

12樓:匿名使用者

void merge(int a, int b, int c, int len1, int len2)

}for(;i<=len1-1;++i)

c[++pos]=a[i];

for(;j<=len2-1;++j)

c[++pos]=b[j];

}望採納

為什麼fun函式沒用(本意是a1和a2交換)

肯定是新手問題,呵呵 你要記住一點,實參和形成不在一個記憶體地址中,你就能理解了子函式呼叫時,會新申請一個記憶體空間來存放這個引數,那麼,造成的結果就是,改變了新記憶體空間中的資料,原來空間中的資料是不會改變的 所以,你的程式a1和a2是不會較好的 有幾種方式可以讓子函式可以改變呼叫它的函式中的資料...

函式y 2x 1的反函式為,函式y 2x 1的反函式是?

由y 2x 1得x log2 y 1 且y 1即 y log2 x 1 x 1 所以函式y 2x 1的反函式是y log2 x 1 x 1 故答案為 y log2 x 1 x 1 函式y 2x 1的反函式為y x 1 2。由y 2x 1 得x y 1 2 所以原函式的反函式為y x 1 2。知識點 ...

函式y log2(x 1)(x 1)的反函式是

我是幾吧 由y log2 x 1 可得x 1 2y,即 x 1 2y,將x y互換可得 y 2x 1,y log2 x 1 x 1 所以y 1,所以函式y log2 x 1 x 1 的反函式的表示式 y 2x 1 x 1 故答案為 y 2x 1 x 1 皮皮鬼 解由x 1 知x 1 2 故log2 ...