在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語言中將字串賦值給字元陣列的問題

渿河 這是在定義時初始化 如果你的右邊花括號內的字元個數少於 陣列元素個數 那麼其餘的陣列元素將會初始化為0 0 的ascii碼的值就是0 如果你不指定陣列元素個數 編譯器會自動幫你計算出元素個數的 char c 10 這個是已經給定了陣列的大小,達不到陣列大小的長度的話會自動添零的 c語言中將字串...

C語言,結構體中的陣列怎麼賦值,C語言中結構體中的陣列,不能直接賦值嗎

1 用字元常量逐個初始化陣列。例如 char a 8 把8個字元依次分別賦給c 0 c 7 這8個元素。如果在定義字元陣列時不進行初始化,則陣列中各元素的值是不可預料的。如果花括號中提供的初值個數 即字元個數 大於陣列長度,則出現語法錯誤。如果初值個數小於陣列長度,則只將這些字元賦給陣列中前面那些元...

C語言,下面程式中語句的意思,C語言中flag是什麼意思?下面程式中flag是什麼意思?

風若遠去何人留 在每次賦值及取值時不使用cache中的值,而是都去實體記憶體中獲取 volatile 該值在程式中為常量 const 所以該值的改變,將由外部程式或硬體完成.其他幾個類似.只不過段不同,初始化值不同.語句含義是類似的.c語言中flag是什麼意思?下面程式中flag是什麼意思? 自我程...