c語言中如何把符合要求的數放到另陣列中

2022-02-02 15:23:36 字數 4960 閱讀 9041

1樓:匿名使用者

首先,編寫一個「過濾器」函式:

/*以「把奇數放到另一個陣列」為例*/

int is_odd(int number)然後,編寫主函式:

/*返回符合條件的數的個數*/

size_t put_conditional(int *       dest, /*目標陣列*/const int * source, /*原陣列*/size_t      n, /*原陣列所含元素個數*/int       (*filter)(int) /*「過濾器」函式指標,指向的函式當符合某條件時返回非零值,否則返回零*/

) return dest - start;

}呼叫的時候:

int a[10] = , b[10];

size_t i, n;

n = put_conditional(b, a, 10, is_odd); /*把a陣列中的奇數放到b陣列中*/

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

2樓:匿名使用者

int num[20],num1[20],num2[20];

int i,j,k;

i=j=k=0;

//num存放所有資料,num1放偶數,num2放奇數輸入資料後

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

else }

這樣就分開了偶數和奇數,只要再分別排序就好了

3樓:匿名使用者

第一想法,肯定用迴圈做啊。

迴圈次數自己把握,因為我不知道是什麼具體的東西。用if()判斷所得的數是否符合條件。

如果符合條件,就在if()語句中將其存入陣列,類似於if(i % 5 == 0)

當然了,如果if中只有一句話,大括號是可以省略的。

大致上就是這樣了,不知道是不是你想要的答案。

4樓:喵不語

直接用if條件判斷啊!

c++怎麼把一個陣列裡符合條件的值賦到另一個陣列裡?

5樓:危曉靈

用for迴圈遍歷陣列,判斷每一項是否符合條件,符合就賦值給另一個陣列

6樓:重慶新華電腦學校

進行陣列遍歷,然後判斷,然後把符合條件值加入到另一個陣列中即可。

c語言如何把輸入進去的數放到陣列中

7樓:匿名使用者

include

void main()

int a[3][3],i,j;

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

for(j=0;j<3;j++)

sacnf("%d",&a[i][j]);

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

for(j=0;j<3;j++)

8樓:風若遠去何人留

有兩種方式:

1 先輸入數值,在存放在陣列的對應位置中,即賦值給對應元素。

如scanf("%d",&i);

a[k] = i;

就是先輸入到變數i中,然後把i儲存在a的第k個元素中。

2 直接輸入到陣列對應元素中。

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

與1中的例子是相同效果,只是減少了中間變數的使用。

c語言中怎麼把一維陣列賦給另外一個一維陣列

9樓:勵光解芷容

不可以,之所以不可以是因為陣列名是個常量,它的值是陣列首元素地址,即不能將其它值付給這個常量。

可以採用迴圈的方法逐個複製,或者採用另一個同型別的指標(相對於陣列名,指標是變數)指向要複製的陣列,之後就可以採用這個指標訪問之前的那個陣列

10樓:武冰業雁菡

void

main()

;int

b[10];int

i;for(i=0;a[i]!=0;i++)b[i]=a[i];

}如果a[10]=b[10]

那麼僅僅賦了b{}陣列的第11個元素給a陣列的第十一個元素,沒法一次性全部賦給.樓下那個方法也不錯.

11樓:宿唱校流婉

這樣只是陣列b第11個元素賦值給陣列a第11個元素可以這樣

n為你要從陣列b賦值到陣列a的個數

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

a[i]=b[i];

12樓:長映諫瑩

定義a[4]為一個4列的二維陣列後,a[2]是*(a+2),這裡a是一個指向4個整型的陣列指標;

a[2]也可以理解為&a[2][0],因為陣列a其實只定義了一行,所以&a[2][0]已經越界了,不過在c語言中越界訪問是不會報錯的,所以a[2][0]的地址比a[0][0]的地址偏移了2行,也就是8個整型,也是32個位元組。這樣理解為&a[0][0]+32也可

13樓:宣果彤春

不可以,只能挨個將b

裡面的值賦值到a裡面

inti;

for(i=0;i<(sizeof(b)/sizeof(int);i++)

不過如果你保證了a和b大小一致的話,也可以偷懶memcpy(a,

b,sizeof(b));

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

14樓:

有一個已排好序(從大到小)的陣列有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]);

15樓:

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

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

a[i]=x;

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

16樓:我行我素

#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語言,如何將數字新增到一個已有的字元陣列中?

17樓:

陣列要實時新增數字進去有點麻煩,如果是空陣列就一個for迴圈按順序輸入就行了。如果是想把一個數字插入某個位置,那用一個變數temp記錄插入的位置,先在原來的陣列temp位置開始的數全部先後移一位,然後再a = waiting[temp];(a是你想插入的數字)

18樓:匿名使用者

不能吧,你定義的時候不是a[n]嗎,這個n是固定的,你要多少系統就給你多少空間,給定之後是不能再改的,c就是這樣,別的語言可以。(用連結串列可以)

c語言中怎麼把一個陣列的值賦到另一個陣列中

19樓:艾瓏庫芳林

不可以a指的是a陣列的第11個元素,同樣b也一樣,你這樣寫只能夠把b的第11個元素值賦給a的第十一個元素

求採納為滿意回答。

c語言中如何將一個字串陣列裡的字串寫入另一個陣列中

20樓:天涯中仰望

用函式 stract(字串1,字串2)

就是把字串2接到字串1的後面

21樓:匿名使用者

#include

strcpy(目標陣列,源陣列);

例如目標陣列 char target[20]//記得保證目標陣列足夠大,否則會崩潰

源陣列 char source = "abcdef"

strcpy(target,source);

22樓:匿名使用者

這類問題要考慮一下安全性,陣列的邊界溢位。

最好使用庫函式,不要用strcpy,用strncpy。

#include

strncpy(目標陣列,原陣列,sizeof(目標陣列));

23樓:匿名使用者

#include

strcpy(目標陣列, 原陣列);

24樓:

int i;

int a[max],b[max];

for(i=0;i

b[i]=a[i];

這是陣列a寫入b中

25樓:

int i;

static int j=0;

char a[max],b[max];

for(i=0;i

if(a[i]==" ")}

在c語言中如何把陣列清空,在C語言中如何把陣列清空

c語言貌似沒有把陣列清空的方法啊,或許你可以清除就把它賦值為0,這樣在形式上實現了清楚,不然的話只有動態申請的記憶體可以釋放。int a 4 1 通過陣列遍歷,逐個賦值為0。定義迴圈變數int i for i 0 i 4 i a i 0 該程式功能為遍歷陣列a,逐個將元素賦值為0,實現清空效果。有兩...

C 語言中,要求參加運算的數必須是整數的運算子號是ABCD

c取餘 或取模 運算左右值的型別必須是整型x 5.0 2.5 x 2 x 3.12 x 0 if c c 這些都合法,所以不一定要求是整數。在c語言中,要求運算數必須是整型的運算子是 選擇d。復 是求餘運算子,也叫模除運制算符,用於求餘數。要求兩個運算元均為整數 或可以隱式轉換成整數的型別 標準規定...

C語言簡單的迴文,C語言中,什麼是迴文數

首先。scanf d s n 不知道你想表達什麼,我理解成輸入n.那麼就這樣。scanf d n 其次。你在scanf後面呼叫gets會產生輸入流被佔用的問題。所以要在gets前加入。fflush stdin 再次。也是最重要的一點!你的p和s都沒初始化,僅僅是一個空指標,沒有分配任何記憶體空間,如...