有關C語言陣列的問題(在陣列中插入數)

時間 2022-04-21 18:43:56

1樓:邶弘夙朝

第11行,就是把整數3插入到陣列的第3(此時i的值是1,因此a[i+1]就是a[2])個元素

第7到10行就是把後面的元素往後移1個位置,注意要先把該移的數都移好,留出空間才能把新元素插入到指定位置

2樓:無謂之光

你的程式定義時,陣列是a[7];並且都附值了,也就是說a[7]中每乙個位置都已經有了個數,插入t之後,陣列越界了,但是c語言不檢查陣列越界的,所以沒報錯,for(i=0;i<8;i++) 這句指i從0到7,但是a[7]是從0到6的.

最後一位是隨機的.你把a[7]該成a[8]就可以了.

3樓:

main()

,k,i,j,t;

scanf("%d",&a[4]);

t=a[4];

printf("now is ");

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

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

for(k=0;k<4;k++);

}printf("\nfrom s to b\n");

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

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

} 我的陣列插入程式,我覺得應該對,但編譯是continue misplsced,也清高手指點一下吧

4樓:阿四哥

c語言的陣列概念的學習,通過for迴圈輸出列印陣列

關於c語言在陣列裡插入乙個數

5樓:高金山

#include"stdio.h"

#include"string.h"

void main()

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

int i,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");}

6樓:薄思怡節岑

你的程式定義時,陣列是a[7];並且都附值了,也就是說a[7]中每乙個位置都已經有了個數,插入t之後,陣列越界了,但是c語言不檢查陣列越界的,所以沒報錯,for(i=0;i<8;i++)

這句指i從0到7,但是a[7]是從0到6的.

最後一位是隨機的.你把a[7]該成a[8]就可以了.

7樓:匿名使用者

不是吧,你這程式對的呀,你再試試

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

8樓:匿名使用者

方法為:輸入乙個資料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;

9樓:傑遜漂流記

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

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

10樓:招鵬鯨清可

#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");}

11樓:匿名使用者

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

12樓:匿名使用者

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

c語言陣列中插入乙個數的問題

13樓:被主遺棄的人

for(i=n-2;i>=2;i--)

從數字倒數第二個數開始把其往後移,執行完這裡for迴圈之後,i==1,a[n]=,a[i+1]=3;即a[1 + 1] = 3;此時a[n]=

14樓:黑丶雨

for迴圈最後一次執行時 i = 2 ,執行到最後執行i--;下次 i 變數的值就等於1;

所以a[i+1]就等於a[1+1],等於a[2]; 再把3賦值給a[2],所以a[2]就等於3;

15樓:

第11行,就是把整數3插入到陣列的第3(此時i的值是1,因此a[i+1]就是a[2])個元素

第7到10行就是把後面的元素往後移1個位置,注意要先把該移的數都移好,留出空間才能把新元素插入到指定位置

c語言程式設計:輸入10個有序(由小到大)整數存入陣列a,再輸入乙個整數x,在陣列a中插入x,使其仍然有序。

16樓:匿名使用者

#include

#define n 10

void insert(int list, int n, int x)

void main( )

17樓:聽不清啊

#include

#define pi 3.1415926

int main()

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

18樓:開心地的春天

c語言向有序陣列中插入乙個數使該陣列仍保持有序#include

int main()

}}for(j=0; j

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

19樓:凌亂心扉

#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的內容。

20樓:匿名使用者

#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;

}不懂再問

21樓:1230鮑

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

c語言陣列的問題,乙個c語言陣列的問題

你按照for int i 0 i 這個執行一下,應該會達到你想要的效果,至於你那個有幾個問題第乙個就是輸出你設定有兩個,但是你就給了乙個的。第二個就是你預計的結果之中是不應該出現code 5 這個值的,因為code最多到code 4 修改如下,你再試試 for int i 0 i 5 i 陣列下標是...

關於c語言陣列和指標的問題,關於C語言陣列和指標的乙個問題

c 語言裡 1 形式邏輯不成立。2 要分清 乙個形式 出現在 宣告裡,還是 出現在語句裡,3 另外,字元變數 與 普通變數 有些 不同。下面只談字元 宣告 char s 10 hello s 是 陣列,初始化 hello 0 自動加 0 宣告 char p p 是 指標。宣告 char p s p ...

C語言中指標陣列的問題,c語言關於指標陣列的問題?

這樣看 0x00 0x78,0x99 0x78 h e l l 0 0 0x99 w o r l d 0 其中s就是0x00,然後,s 0 就是 0x00 0 0x00 取內容,得到的值是0x78,然後列印的就是hello s,就是相當於s 0 s 1,因為優先順序關係,先執行s 0 就是 0x78...

有關c語言的問題,有關C語言的問題

奈帥斂昕葳 賦值時用 如i 25 邏輯運算時用 如決斷i 是否等於j i j 這時一般都要用到if語句 如if i j 碧茹武靜楓 是賦值。就把乙個數賦值給乙個左運算元。是數學上的等於。用於判斷,如int a 10,b 11 判斷a是否等於b就用 if a b 蒼吉柔星鵬 賦值運算子,比如,a 3,...

c語言中的二維陣列問題,c語言問題 c語言中二維陣列在記憶體中怎樣儲存?

目的是將緩衝區中輸入流中資料清除,可以使用 fflush stdin 清除資料 gets函式會把前面在scanf函式的輸入結束符即回車當做第乙個字串資料的結束符接收,因此不加gets s 就會導致資料個數少乙個。當然使用gets s 會提前接收了回車,因此也是起到同樣的作用。你程式函式中有個錯誤,p...