一道C語言程式設計題

2021-03-05 22:02:49 字數 2040 閱讀 2520

1樓:匿名使用者

#include

#define maxnum 6

int main()

;//這是從小到大排列

int num,i,j;

printf("輸入要插入的數:");

scanf("%d",&num);

if(num在最前面

else if(num>=a[maxnum-2])//插入的數大於或等於最後一個,插在最後面

a[maxnum-1]=num;

else //插入的數大於或等於第一個,小於最後一個,插在中間

for(i=0;i

return 0;}

2樓:匿名使用者

// 把value插入到已經按由小到大排序好的含有size個元素的陣列array中

// 假設array的記憶體容量足夠大

void insert_value(int* array, int size, int value)

for(j=size;j>i;j--)

array[i] = value;}

3樓:我是亞勇啊

你的陣列大小要保證插入

新數後不會越界。如果你想儲存10個數後,又想插入兩個數,那麼至少你的陣列大小要為13.具體思想是先找到比你要插入的數大的數的位置(假如你是按從小到大排列的話),然後把這個位置以後的數都一次向後挪一位,最後插入你的數,即可。

源程式如下:

#define m 20

#include

void main()

4樓:匿名使用者

用半折法

#include

/*n為陣列長度

,a為要插入的元素 */

void insert(int *p, int n,int a)else }

for ( ; n>=low; --n)

*(p+low)=a;

} main()

; int a=3;

int len=5;

insert(arr,len,a);

for (int i=0; i<6; ++i) }

5樓:匿名使用者

main()

printf("\n input some num:\n");

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

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

6樓:我是你的騎士

用插入排序法(你的問題是其中的一步)

下面是完整的排序描述和偽**

題目:輸入:一組數字.

輸出:從大到小排序的陣列.

其實,插入排序法很簡單,拿我們平常玩撲克舉例.剛開始時,我們手是空的,桌子上放了n張牌.我們要將牌拿起並按從左到右,從大到小的順序整理好.

拿起第一張牌時,因為手裡只有一張拍,顯然是按順序排好的.然後再拿起第二張,如果第二張牌比第一張小,那麼直接放在第二張的右面;如果第二張比第一張大,把第一張右移一位,然後把第二張放在第一張原來的位置上.如此下去,手中的牌永遠是排好順序的.

當拿起第j張時,從右向左比較,如果第j-1張小,則第j-1張右移一位,然後和第j-2張比較,直到找到合適的位置,將第j張牌插入.當桌面上的牌全部都到了手中的時候,那麼這副牌也已經按從左到右,從大到小的順序排好了.

偽**表述如下:

1. for 1 to length a[j]2. do key=a[j]

3. //insert a[j] to sorted sequence a[1,2,…,j-1]

4. i=j-1

5. while(i>0 and a[i]

8. a[i+1]=key

插入排序法的時間代價為o(n^2),是一種比較低階的排序辦法.在待排元素較少時可以使用.

有不明白的給我發郵件lmc_xz@yahoo.***.**

求解一道C語言基礎程式設計題,一道C語言程式設計題求解

舉個例子你就懂了,以16進位制的2abc為例,16進位制轉為10進位制的方法,就是從右到左,依次用該位的數字乘以16的0次方 16的1次方 16的2次方 同樣如果是其它進位制,比如8進位制,那就是8的0次方 1次方等等 之和,比如說2abc轉10進位制,就等於 2abc 16 c 1 b 16 a ...

一道C 程式設計題,一道c 程式設計題

多數問題為存心造成 打錯字為主 修改後如下 include include 加一個標頭檔案 為str 函式 using namespace std class binary binary binary char p binary binary int n binary operator binary...

一道C語言程式設計題急急急

include void main printf the sorted numbers n for i 0 i 10 i printf d a i printf n 已經上機執行過 就是用冒泡法啦 include int main 你沒描述清楚 如果是要輸入n個數後按從大到小的順序輸出我再改改 in...