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 氣泡...