在c語言中,將數插入陣列中的程式怎麼寫

時間 2021-07-01 01:00:12

1樓:

有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中

<5;i++)  if(x2.j=i;    /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。

比當前數大時繼續下一個(小應當在左側,大則在右側) */

3.break;  for(i=5;i>=j;i--)

a[i+1]=a[i]; /*將位置j以後的資料都向後移一位*/ a[i+1]=x;    /*

4. 把要插入的數x放到a[i]中,因為i--後 i 比實際要插入的位置少1,所以真正插入的位置應該i+1*/

5.for(i=0;i<=5;i++)  /*這時一共有6個數* printf("%d ",a[i]);

2樓:

你可以先定義一個陣列和一個變數,然後把這個變數寫入陣列,比如int x,i,a[10];

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

a[i]=x;

這樣程式執行後,陣列a[10]的內容依次插入了裡面。

3樓:我行我素

#include

void main()

;int n;

printf("請輸入需要插入到陣列中的位置:");

scanf("%d",&n); //比如說插入到第三個位置,即s[2]中,則輸入3

int num;

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

scanf("%d",&num);

for (int i=10-1;i>=n;i--)s[i]=num;

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

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

printf("\n");}

在c語言中,如何在陣列中插入一個數

4樓:匿名使用者

方法為:輸入一個資料x,將陣列中的資料與x逐一比較,如果大於x,記錄下資料的下標,然後此資料下標和其後的資料的下標都加一,相當於都向後挪一位,然後將x賦值給陣列的那個下標。

#include

int main()

int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;

printf("插入前陣列的資料是:") ;

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

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

printf("\n") ;

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

scanf("%d",&x) ;

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

if(a[i]>x)

break;

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

alj+1] =alj] ;

a[i]=x;

printf("插入後陣列的資料是:") ;

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

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

return 0;

5樓:理暄妍果揚

程式1:這個是輸入10個數

先排序再插入一個數

再排序陣列

大小你可以自己更改

#include

void

main()

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

printf("%d

",a[i]);

scanf("%d",&m);

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

if(a[i]>m)

a[10]=m;

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

printf("%d

",a[i]);

printf("\n");

}程式2:如果題中已給排好序的陣列

不必自己輸入的話

#include

void

main()

;int

temp1,

temp2,number,end,i,j;

printf("array

a:\n");

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

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

printf("\n");

printf("insert

date:");

scanf("%d",&number);

end=a[9];

if(number>end)

a[10]=number;

else

break;}}

}printf("now,array

a:\n");

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

printf("%d

",a[i]);}

6樓:傑遜漂流記

有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中<5;i++) if(x2.

j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。……

7樓:招鵬鯨清可

#include"stdio.h"

#include"string.h"

void

main()

;//////////這裡定義陣列的時候,要寫上11,否則會認為該陣列只有10個元素,那樣的話,無法對其進行插入的。其他地方沒有錯誤

inti,j,temp,n;

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

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

if(a[j]>a[j+1])

printf("按從小到大的排列順序為:\n");

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

printf("%d

",a[i]);

printf("請輸入你想插入陣列的數字:");

scanf("%d",&n);

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

if(n

=i;j--)

a[j+1]=a[j];

break;

}a[i]=n;

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

printf("%d

",a[i]);

printf("\n");}

8樓:匿名使用者

樓主能說具體點嗎。有很多方法,比如用字串連線的函式,strc...什麼什麼的函式,還可以直接插入一個數,和陣列中的數比較大小

9樓:匿名使用者

比如在第n個數中插入一個m

c語言陣列在記憶體中是怎麼分配的,c語言中二維陣列在記憶體中是按什麼優先存放的?

c語言中記憶體為分三類 棧區 堆區 靜態資料區。區域性變數在棧上分配,函式呼叫前的棧指標,要和函式返回後的棧指標一樣,否則就會出錯。void test void char i,a 10 printf 0x x i printf 0x x a printf 0x x a 1 printf 0x x a...

c語言中將輸入的整數逆轉顯示,c語言用迴圈的方法,把輸入的一個整數,倒序輸出

思路 可以利用while迴圈依次對其進行對10取餘輸出併除10操作直到其為0為止,輸出的結果就是該整數的倒序。include int main return 0 輸出 12345 5 4 3 2 1 取餘加除法就可以了 include int main return 0 include includ...

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

珈藍惜夢 源程式如下 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 氣泡...