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.***.** 舉個例子你就懂了,以16進位制的2abc為例,16進位制轉為10進位制的方法,就是從右到左,依次用該位的數字乘以16的0次方 16的1次方 16的2次方 同樣如果是其它進位制,比如8進位制,那就是8的0次方 1次方等等 之和,比如說2abc轉10進位制,就等於 2abc 16 c 1 b 16 a ... 多數問題為存心造成 打錯字為主 修改後如下 include include 加一個標頭檔案 為str 函式 using namespace std class binary binary binary char p binary binary int n binary operator binary... 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...求解一道C語言基礎程式設計題,一道C語言程式設計題求解
一道C 程式設計題,一道c 程式設計題
一道C語言程式設計題急急急