編寫C語言程式,從已排序的陣列中刪去某數後,該陣列仍然

時間 2021-09-04 02:31:21

1樓:戶哲茂

#include

void fun(int *arr,int n,int dat)}void main(void)

;int i;

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

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

printf("\r\n");

fun(a,9,3);

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

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

printf("\r\n");

}int型別陣列,假如型別是unsigned char的陣列,你就得改程式了,

2樓:碧海風雲

刪除陣列中的某個元素,可以採取將刪除位置之後的元素依次向前移動一位的辦法來實現。

#include

#define len 100 /*陣列長度*/#define elemtype int /*元素型別*//*列印陣列*/

void printarr (elemtype arr, int len) {

int i;

for (i=0; i

執行結果

3樓:颯颯英姿

從已排序的陣列中刪除某數之後難道還會亂序嗎?不是肯定還是有序的嗎

4樓:

#include

void main()

;int i,m,j;

printf("請插入要刪除的元素:\n");

scanf("%d",&m);

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

=array[j+1];];

}array[10]=0;

break;

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

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

5樓:匿名使用者

完成 建乙個cpp檔案放**進去就可以了//從乙個已排序的陣列中刪去某數後,該陣列仍然有序,必須要可以執行的呀!

#include"stdio.h"

#include"conio.h"

#define max 100

typedef int datatype ;//預設陣列型別是int 其他型別修改這裡

int count = 0 ;

void sort(datatype*);

void input(datatype*);

void sdelete(datatype*) ;

void out(datatype*) ;

int main(void)

;input(a) ;

sort(a) ;

printf("當前陣列為:");

out(a) ;

printf("\n\n按任意鍵進行刪除");

getch();

sdelete(a);

return 0 ;

} void sort(datatype* data)}}} void input(datatype* data)else

}if(flag)

}void out(datatype* data)}void sdelete(datatype* data)for(i=0;i

c程式編寫,將乙個數插入到乙個已經有序的陣列裡,要求保持有序

6樓:珈藍惜夢

源程式如下:

#define _crt_secure_no_warnings

#include

int main()

printf("請輸入想插入的數字\n");//輸入要插入的數字

scanf("%d", &k);

for (i = 0; i <= n; i++)//迴圈遍歷

for (i = 0; i < n; i++)//迴圈遍歷

}for (j = 0; j < n; j++)//氣泡排序,將陣列數列排好}}

for (j = 0; j < n + 1; j++)//順序輸出

程式輸出結果如下:

擴充套件資料:

/*#include//感覺用二分法不錯 直接插入排序也不錯

//插入函式 往有序的陣列a裡插入值為element的元素使陣列a依然有序

//演算法思想大概就是從頭開始遍歷找到第乙個大於element的數 然後插入 然後後面的元素依次移動。

void insert_array(int *a,int length,int element)

}  if(f!=1)//當element大於所有陣列元素時候

for(i=0;i

}int main()

; int e=7;

insert_array(a,5,e);}

7樓:匿名使用者

【例】把乙個整數按大小順序插入已排好序的陣列中。

為了把乙個數按大小插入已排好序的陣列中,應首先確定排序是從大到小還是從小到大進行的。設排序是從大到小進序的,則可把欲插入的數與陣列中各數逐個比較,當找到第乙個比插入數小的元素i時,該元素之前即為插入位置。然後從陣列最後乙個元素開始到該元素為止,逐個後移乙個單元。

最後把插入數賦予元素i即可。如果被插入數比所有的元素值都小則插入最後位置。

main()

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

a[i]=n;

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

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

printf("\n");

} 本程式首先對陣列a中的10個數從大到小排序並輸出排序結果。然後輸入要插入的整數n。再用乙個for語句把n和陣列元素逐個比較,如果發現有n>a[i]時,則由乙個內迴圈把i以下各元素值順次後移乙個單元。

後移應從後向前進行(從a[9]開始到a[i]為止)。 後移結束跳出外迴圈。插入點為i,把n賦予a[i]即可。

如所有的元素均大於被插入數,則並未進行過後移工作。此時i=10,結果是把n賦於a[10]。最後乙個迴圈輸出插入數後的陣列各元素值。

程式執行時,輸入數47。從結果中可以看出47已插入到54和 28之間。

8樓:朱杰遜

如所有的元素均大於被插入數,則並未進行過後移工作。此時i=10,結果是把n賦於a[10]。最後乙個迴圈輸出插入數後的陣列各元素值。這個地方不理解

9樓:匿名使用者

main()

;int t1,t2,num,end,i,j;

printf("\narray a:\n");

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

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

printf("\n");

printf("insert data:");

scanf("%d",&num);

end=a[9];

if(num>end)

a[10]=num;

else

break;}}

}printf("now,array a:\n");

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

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

getch();}

c語言程式編寫 有乙個已排好序的陣列,由鍵盤又輸入乙個數,要求按原來排序的規律將其插入陣列中

10樓:凌亂心扉

#include

int main()

,i,j,n,x;

printf("請輸入陣列元素的個數:");

scanf("%d",&n);

printf("請輸入排好序的一串數字:\n");

for(i=0;iscanf("%d",&a);

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

scanf("%d",&x);

if(a[0]>a[1])//該陣列按降序排列

printf("插入後的陣列:\n");

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

printf("%d",a);

return 0;

}include用法:

#include命令預處理命令的一種,預處理命令可以將別的源**內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程式**;可以定義類似識別符號功能的巨集,在編譯時,預處理器會用別的文字取代該巨集。

插入標頭檔案的內容

#include命令告訴預處理器將指定標頭檔案的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入標頭檔案:

1、#include《檔名》

2、#include"檔名"

如果需要包含標準庫標頭檔案或者實現版本所提供的標頭檔案,應該使用第一種格式。如下例所示:

#include//一些數學函式的原型,以及相關的型別和巨集

如果需要包含針對程式所開發的原始檔,則應該使用第二種格式。

採用#include命令所插入的檔案,通常副檔名是.h,檔案包括函式原型、巨集定義和型別定義。只要使用#include命令,這些定義就可被任何原始檔使用。如下例所示:

#include"myproject.h"//用在當前專案中的函式原型、型別定義和巨集

你可以在#include命令中使用巨集。如果使用巨集,該巨集的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。

【例1】在#include命令中的巨集

#ifdef _debug_

#define my_header"myproject_dbg.h"

#else

#define my_header"myproject.h"

#endif

#include my_header

當上述程式**進入預處理時,如果_debug_巨集已被定義,那麼預處理器會插入myproject_dbg.h的內容;如果還沒定義,則插入myproject.h的內容。

11樓:匿名使用者

#include

int main()

;//排好

bai的陣列

scanf("%d",&m);  //輸入數du據zhifor(i=0;i<10;i++)

if(m尋找這個數的位dao置

a[i]=m;  //插入資料

}for(i=0;i<11;i++)  //輸出容printf("%d ",a[i]);

return 0;

}不懂再問

12樓:1230鮑

倒數第七行有誤,它表示的是換位,往後移動可以直接表示為a[j+1]=a[j];

編寫c語言程式,實現分數的約分,編寫c語言程式,實現分數的約分

perject 見習魔法師 給的就是啊,不過演算法屬於最基本的。支援 芙瑤凌 經理 四級 提到的輾轉相除法,稍加改動如下 turboc2編譯通過的噢,關於輾轉相除法見參考資料 昨晚提交的程式有個問題啊,不好意思 汗顏 現在就改過來 include include main printf n i n ...

C語言中 用陣列編寫「輸入一組資料,先排序,再輸入數插入其中,再排序,怎麼寫啊?」各位幫忙吧!先

include int sort int a,int n int insert int a,int n n為陣列裡原來的元素個數,k為插入的位置從左編號0開始 int main 這樣?vectorvecdata copy istream iterator cin istream iterator b...

c語言 有n個整數的陣列,編寫程式使其前面各數順序向後移m個

include void main printf 輸入要移動的位置數 scanf d m 這句也沒錯,最好在其下加入一句 m 10 for i 0 i 0 j 就該應在這時 s 0 b for i 0 i 10 i printf d s i putchar n 要實現這個功能只需要改一個地方 for...